@PostConstruct - 의존성 주입이 이루어진 후 실행되는 메서드에 사용, db에서 데이터 불러올때 등에 사용
@PreDestroy - 빈이 삭제되기 전에 사용, 종료 전에 데이터 저장할 때 등에 사용
package udemy.learnspring.singleton;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.PreDestroy;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.*;
import org.springframework.stereotype.Component;
@Component
class SomeClass{
private SomeDependency someDependency;
public SomeClass(SomeDependency someDependency){
super();
this.someDependency = someDependency;
System.out.println("dependency ready");
}
@PostConstruct
public void initialize(){
someDependency.getReady();
}
@PreDestroy
public void cleanup(){
System.out.println("Clean up");
}
}
@Component
class SomeDependency{
public void getReady(){
System.out.println("some logic using dependency");
}
}
@Configuration
@ComponentScan
public class SingletonClass {
public static void main(String[] args) {
AnnotationConfigApplicationContext context
= new AnnotationConfigApplicationContext(SingletonClass.class);
String[] names = context.getBeanDefinitionNames();
for (String x : names) System.out.println(x);
context.close();
}
}
'유데미 스프링' 카테고리의 다른 글
스프링 부트 시작하기 (0) | 2024.03.30 |
---|---|
빈 관련 어노테이션 (0) | 2024.03.20 |
싱글톤, 프로토타입 (0) | 2024.03.20 |
지연 초기화, 즉시 초기화 (0) | 2024.03.20 |
스프링 용어 정리 (0) | 2024.02.25 |