학습 기록/스프링 복습

빈 라이프사이클

서버관리자 페페 2024. 5. 7. 13:34

1. ctx가 생성되고 소멸될때 빈도 딸려간다.

 

2. 컨테이너 생성시 -> "빈 생성 / 의존 설정 / 초기화 " 

 

3. 컨테이너 소멸시 -> "빈 소멸"

 

-

 

4. 빈 초기화 및 소멸시 지정 메서드 호출

 

5. 인터페이스 2가지 및 그에 딸린 추상메서드 

 

6. InitializingBean -> afterPropertiesSet() / DisposableBean -> destory()

 

7. 사용할 클래스에서 두개 implement후

 

8. 사용 기능 앞뒤로 메서드 커스텀해주기

 

9. ctx 설정클래스는 별도로 건드리지 않아도 된다.

 

-

 

10. 메인에서

ctx 생성 -> ctx.getBean()얻기 -> Bean 메소드 사용 -> ctx.close();

설정된 커스텀 메서드 실행된다

 

-

 

11. 외부에서 제공받은 클래스를 빈으로 사용할 때, 코드를 받지 않았거나 다른 기능 사용할시도 가능

 

12. Appctx 설정클래스에서

@Bean(initMethod = "connect", destroyMethod = "close")

 

13. 설정 클래스인 init은 빈 내부 메서드에서 직접 실행해도 됨

@Bean(destroyMethod = "close")

public Client2 client2() {

    Client2 client = new Client2();

    client.setHost("Host");

    client.connect(); // 이 부분

    return client;

}

 

14. 다만 중복되지 않게 주의

 

-

 

*스코프를 프로토타입으로 잡으면 컨테이너 종료시에도 별도로 소멸 처리 직접 필요

'학습 기록 > 스프링 복습' 카테고리의 다른 글

DispatcherServelet  (0) 2024.05.20
JDBC Template / 트랜잭션  (0) 2024.05.07
AOP복습  (0) 2024.05.07
스프링 DI 복습  (0) 2024.05.07