728x90
Example 5-4 자바코드 설정에서 Xml 설정 파일 포함하기. @ImportScan("classpath: - - -.xml")
Example 5-5 컴포넌트 스캔 @ComponentScan, @Component
[컴포넌트 스캔 기능] : 아직 빈 객체가 아닌 상태에서 스프링이 직접 클래스 검색하여 @Component 붙은 클래스에 대해 빈으로 등록해주는 기능 -> 스캔 대상 지정 | @Component -클래스에 @Component 붙여주면 해당 클래스가 스캔 대상이 된다. -> 스캔 설정 | @ComponentScan -Java 설정 클래스에 적용함 - basePackages 속성값은 스캔 대상 패키지 목록 지정 |
Example 5-7 Bean 객체의 LifeCycle -(1) 인터페이스 사용
Spring 컨테이너는 (1) Bean 객체가 InitializingBean 인터페이스를 구현한 경우, 해당 객체 내부에서 초기화 함수인 afterPropertiesSet() 메소드를 재정의해놓고, main() 에서 해당 빈 객체 초기화 과정에 실행한다. (2) Bean 객체가 DisposableBean 인터페이스를 구현한 경우, 해당 객체 내부에서 소멸 함수인 destroy() 메소드를 재정의해놓고 main() 에서 해당 빈 객체 소멸 과정에 실행한다. |
<실행 결과 화면> MessageBeanKo 클래스는 xml 파일에 빈으로 등록되어 있는 빈 객체인데, InitializingBean 인터페이스, DisposableBean 인터페이스를 모두 구현한 클래스이다. HelloApp 속 main() 실행 시, 이 빈 객체 초기화 과정에서 먼저 afterPropertiesSet() 이 실행되고, 이 빈 객체 소멸 과정에서 destroy() 가 실행되는 것을 확인할 수 있다. |
Example 5-8 Bean 객체의 LifeCycle -(2) 속성으로 지정
다른 이름의 함수를 각각 초기화 함수, 소멸 함수로 지정하고 싶을 때, 속성을 이용하여 해당 메소드의 이름 지정하는 방법 O -> [설정 XML 파일 속 속성 이용 ] : <bean> 빈 객체 등록 시 init-method 속성에 초기화 메소드 이름 지정 destroy-method 속성에 소멸 메소드 이름 지정 -> [Java 설정 클래스 속 속성 이용 ] : @Bean 빈 객체 등록 시 initMethod 속성에 초기화 메소드 이름 지정 destroyMethod 속성에 소멸 메소드 이름 지정 |
<실행 결과 화면> 자바 Xml 설정 파일 속에 MessageBeanKo 클래스를 bean으로 등록하는 과정에서 init-method 속성값으로 "initMessage"를, destroy-method 속성값으로 "finishMessage" 를 줬다. 결과를 보면 해당 빈 객체 초기화 과정, 소멸 과정 각각에서 해당 메소드 실행되는 것을 알 수 있다. |
728x90
'Web(웹)_관련 공부 모음 > [학교]_STS_Spring_실습' 카테고리의 다른 글
[개념]_AOP [Aspect-Oriented Programming] (0) | 2022.04.26 |
---|---|
[학교]_7주차_스프링 AOP 실습 (0) | 2022.04.20 |
[학교]_5주차_스프링 @Qualifier 실습 (0) | 2022.04.05 |
[학교]_4주차_스프링 DI 자동 의존 주입 @Autowired_실습 (0) | 2022.03.29 |
[학교]_3주차_스프링 DI 의존_실습 (0) | 2022.03.22 |