스프링 어노테이션 예제

이 부어는 메서드 매개 변수 수준에서 사용됩니다. @SessionAttribute 어노미는 메서드 매개 변수를 세션 특성에 바인딩하는 데 사용됩니다. 이 추가는 기존 또는 영구 세션 특성에 대한 편리한 액세스를 제공합니다. 이 클래스를 구성 요소로 처리하기 위해 스프링 프레임워크를 나타내는 @Component 지정을 사용합니다. 또한 @PropertySource 및 @Value 주석을 사용하고 있으며 Spring은 런타임시 이러한 주석을 사용하여 지정된 속성 파일에서 이러한 변수 값을 삽입하고 설정합니다. 다음은 mysqldatabase.properties 파일에 선언 된 속성입니다. 이 추가는 테스트 클래스 또는 테스트 메서드에서 선언하여 데이터베이스에 대해 SQL 스크립트를 실행할 수 있습니다. @Sql 어구는 통합 테스트 방법 전후에 지정된 데이터베이스에 대해 실행해야 하는 SQL 스크립트에 대한 리소스 경로를 구성합니다. @Sql 메서드 수준에서 사용되면 클래스 수준에서 정의된 모든 @Sql 재정의합니다. 이 게시물에서는 스프링 프레임워크에서 사용할 수 있는 주석을 살펴보겠습니다. 여기서 @HystrixCommand 원래 방법 bookList()에 적용됩니다. @HystrixCommand 어구에는 새목록이 대체 메서드로 표시됩니다. 따라서 어떤 이유로 Hystrix가 bookList()에서 회로를 열면 사용자에게 자리 표시자 북 목록이 준비됩니다.

유형별 자동 배선은 여러 후보로 이어질 수 있으므로 선택 프로세스를 보다 세게 제어해야 하는 경우가 많습니다. 이를 수행하는 한 가지 방법은 스프링의 @Qualifier 어노미를 사용하여 이 작업을 수행하는 것입니다. 이렇게 하면 한정자 값을 특정 인수와 연결하여 형식 일치 집합을 좁혀 각 인수에 대해 특정 bean을 선택할 수 있습니다. 가장 간단한 경우, 이것은 일반적인 설명 값이 될 수 있습니다: CommonAnnotationBeanPostProcessor는 @Resource 주석뿐만 아니라 JSR-250 수명 주기 주석도 인식합니다. Spring 2.5에서 도입된 이러한 주석에 대한 지원은 초기화 콜백 및 소멸 콜백에 대한 섹션에 설명된 주석에 대한 또 다른 대안을 제공합니다. CommonAnnotationBeanPostProcessor가 스프링 응용 프로그램 컨텍스트 내에 등록된 경우 이러한 주석 중 하나를 전달하는 메서드가 해당 스프링 수명 주기 인터페이스의 메서드 또는 수명 주기의 메서드와 동일한 수명 주기에서 호출됩니다. 명시적으로 선언된 콜백 메서드입니다. 아래 예제에서는 캐시가 초기화 시 미리 채워지고 소멸 시 지워집니다. 우리는 org.springframework.beans.factory.annotation 및 org.springframework.context.annotation 패키지의 주석을 사용하여 Spring DI 엔진의 기능을 활용할 수 있습니다. 이 추가는 클래스 수준 추가입니다.

@WebAppConfiguration 통합 테스트에 로드된 ApplicationContext가 WebApplicationContext이어야 한다고 선언하는 데 사용됩니다. 이 추가는 응용 프로그램 컨텍스트의 웹 버전을 만드는 데 사용됩니다. 이 추가는 @ContextConfiguration 개의 추가와 함께 사용되어야 합니다. 웹 응용 프로그램의 루트에 대한 기본 경로는 src/main/webapp입니다. @WebAppConfiguration 다른 경로를 전달하여 재정의할 수 있습니다. 이 부하는 구성 요소 클래스에 사용됩니다. 기본적으로 모든 자동 유선 종속성이 시작 시 만들어지고 구성됩니다. 그러나 빈을 게으름되게 초기화하려면 클래스에 @Lazy 개의 추가를 사용할 수 있습니다. 즉, Bean이 처음 요청될 때만 만들어지고 초기화됩니다. @Configuration 클래스에서도 이 추가를 사용할 수 있습니다.

이는 해당 @Configuration 내의 모든 @Bean 메서드를 느리게 초기화해야 한다는 것을 나타냅니다. 이 추가는 클래스 수준 및 메서드 수준 어노이로 모두 사용됩니다. @DirtiesContext Spring ApplicationContext가 어떤 방식으로 수정되거나 손상되었음을 나타내며 닫아야 합니다.