Annotation-based Container Configuration(한글)
XML 설정의 대안으로 XML 선언 대신 바이트코드 메타데이터를 사용하여 구성 요소를 와이어링하는 어노테이션 기반 구성이 제공됩니다.
개발자는 XML을 사용하여 Bean 와이어링을 설명하는 대신 관련 클래스, 메서드 또는 필드 선언에 어노테이션을 사용하여 구성을 구성 요소 클래스 자체로 이동합니다.
예: AutowiredAnnotationBeanPostProcessor
에서 언급했듯이, 어노테이션과 함께 BeanPostProcessor
를 사용하는 것은 Spring IoC 컨테이너를 확장하는 일반적인 수단입니다.
예를 들어, @Autowired
어노테이션은 Autowiring Collaborators에 설명된 것과 동일한 기능을 제공하지만 더 세분화된 제어와 더 넓은 적용 가능성을 가지고 있습니다.
또한 Spring은 @PostConstruct
및 @PreDestroy
와 같은 JSR-250 어노테이션을 지원할 뿐만 아니라 @Inject
및 @Named`와 같은 `jakarta.inject
패키지에 포함된 JSR-330(Java용 의존성 주입) 어노테이션을 지원합니다.
이러한 어노테이션에 대한 자세한 내용은 관련 섹션에서 확인할 수 있습니다.
어노테이션 주입은 XML 주입 전에 수행됩니다. 따라서 XML 구성은 두 가지 접근 방식을 통해 유선 연결되는 property에 대한 주석을 재정의합니다. |
항상 그렇듯이 post-processors를 개별 Bean 정의로 등록할 수도 있지만, XML 기반 Spring 구성에 다음 태그를 포함하여 암시적으로 등록할 수도 있습니다(context
네임스페이스가 포함되어 있는 것을 주목하세요):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
</beans>
<context:annotation-config/>
요소는 암시적으로 다음과 같은 post-processor를 등록합니다:
|