더북(TheBook)

AliasConfigDemo 클래스를 실행하면 출력이 다음과 같이 달라집니다.

id: johnMayer
 별칭: [jonathan, johnny, john]

 

별칭에 관해서 살펴보면 스프링 4.2 버전에서 @AliasFor 애너테이션이 도입되었습니다. 이 애너테이션은 애너테이션 애트리뷰트에 대한 별칭을 선언하는 데 사용되며, 대부분의 스프링 애너테이션은 이 애너테이션을 사용합니다. 예를 들어 @Bean 애너테이션에는 이름과 값이라는 두 개의 애트리뷰트가 있으며 각각의 별칭으로 선언됩니다. 이 애너테이션은 명시적 별칭입니다. 다음 코드는 @Bean 애너테이션 코드의 스냅샷이며 공식 스프링 GitHub 저장소에서 가져온 것입니다. 관련이 없는 코드와 문서는 생략했습니다.5

예제 3-97 @Bean 애너테이션 코드의 일부

package org.springframework.context.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.core.annotation.AliasFor;
...
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Bean {
    @AliasFor("name")
    String value() default {};

    @AliasFor("value")
    String name() default {};

    ...
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.