컨테이너의 생명주기
GernricXmlApplicationContext ctx = new GernricXmlApplicationContext();
//객체 생성시
ctx.load("classpath:applicationCTX.xml");
ctx.refresh();
// 설정을 통해 두가지가 내부적으로 사용되게 된다. 생성과 동시에 설정하지 않는 경우 반드시 refresh()필요
ctx.getBean();//사용
ctx.close();
//컨테이너를 종료한다.
※컨테이너 종료시 안에 있던 bean들은 사라진다.
XmlContext : 컨테이너 (스프링)
bean의 생명주기( 객체 하나 하나에 대한 생명주기 interface구현과 어노테이션 사용 2가지 방법)
implements InitializingBean, DisposableBean
//InitializingBean, DisposableBean 두가지는 interface로 이루어져있다.
//Spring에서 기본적으로 제공하는 인터페이스이며 InitializingBean은 afterPropertiesSet() 을 구현
//하여 초기화에 사용
//DisposableBean은 destroy()를 구현하며 빈의 소멸전에 처리 실행
bean만 소멸하게 하려면 빈이름.destroy() API를 이용
bean의 소멸의 시기는 다양하기에 정확하게 파악하기 어렵다.
위와 같이 interface를 통해 구현을 강제로하여 하는 형태는 스프링과 거리가 멀고 @을 사용하는 것이 좋다.
@사용시 소스코드는 바꾸지 않아 유연성이 증가하는 장점이 있다.
@PostConstruct : 생성자 생성후에 호출하여 초기화에 이용
@PreDestroy : 객체 사라지기 전에 호출
'IT > Spring' 카테고리의 다른 글
외부 파일 이용 (0) | 2019.07.29 |
---|---|
Scope (0) | 2019.07.26 |
javaconfig이용 (0) | 2019.07.25 |
c: p: (0) | 2019.07.25 |
DI, IOC, IOC 컨테이너 (0) | 2019.07.23 |
댓글