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 {}; ... }