반응형
이 둘은 Bean의 생성 (생성자가 호출 된 후)과 소멸 시점에서 실행할 부분을 정의할때 사용한다.
하지만 @PostConstruct와 @PreDestory 어노테이션은 Java 9에서 Deprecated 되었고 Java 11에서는 제거될 예정이다.
그래서 이와 같은 동작이 필요할 때 사용할 수 있는 대안을 소개한다.
InitializingBean, DisposableBean 인터페이스 구현
두 개의 인터페이스를 구현하면서 afterPropertiesSet()과 destroy() 메서드를 재정의하면서 deprecated된 두개의 어노테이션을 대신할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | @Service public class UserService implements UserServiceI, InitializingBean, DisposableBean { List<UserDto> users = new ArrayList<>(); @Override public void afterPropertiesSet() throws Exception { users = Arrays.asList( new UserDto("cjung", 29), new UserDto("gglee", 30), new UserDto("sckim", 35), new UserDto("kskim", 25) ); } @Override public void destroy() throws Exception { users.empty(); } } | cs |
반응형
'web > Spring' 카테고리의 다른 글
Spring Validation을 이용해서 요청 검증처리 (0) | 2018.08.09 |
---|---|
Spring Application Test 정리 (0) | 2018.08.07 |
Swagger 라이브러리를 사용하여 API 내용 정리하기 (0) | 2018.08.07 |
[Spring Boot] Maven에서 Gradle로 변경 후 발생한 FreeMarkerWebConfiguration NoSuchFieldError 수정 (0) | 2018.08.05 |
Spring Boot에서 src/main/resource 파일 접근 방법 및 주의사항. (4) | 2018.07.21 |