[Spring] 빈 생명 주기 콜백을 위한 방법1 - Spring의 인터페이스를 활용한 InitializingBean, DisposableBean에 대한 나름의 이해
2023. 10. 27. 15:48ㆍSpring
InitializingBean과 DisposableBean을 활용해서 빈의 생명주기 콜백을 구현할 수 있다.
InitializingBean은 afterPropertiesSet()을
DisposableBean은 destroy()를
override해주면 된다.
이건 초창기에 나온 것이고 지금은 더 나은 방법들이 있어서 사용되지 않는다.
단점은 다음과 같다.
1. 내 코드가 스프링 인터페이스에 의존하게 된다. (이게 왜 단점이지?)
2. 이름을 바꿀 수 없다.
3. 내가 코드를 바꿀 수 없는 외부라이브러리에 적용할 수 없다.
3번의 경우 이 빈이 초기화되거나 끝나면 콜백을 하는 위의 함수들을 넣어주어야 하는데 이걸 못바꾸면 할 수가 없다는 이야기이다.
1번의 이게 왜 단점이지?에 대한 답변은 인터페이스를 구현하는 것이다보니 스프링 코드가 변경되면 내 코드도 그에 맞게 변경되어야 할 수 있기 때문이다. 코드 레벨로 인터페이스를 가져오는건 부담이 된다. 만약 import해야 하는 path가 바뀌게 되면 다 바꿔줘야 할 것이다. 또한 스프링이 없으면 동작할 수 없게 된다.
Reference
'Spring' 카테고리의 다른 글
[Spring] 빈 생명 주기 콜백을 위한 방법 3 - @PostConstruct, @PreDestroy (0) | 2023.10.27 |
---|---|
[Spring] 빈 생명 주기 콜백을 위한 방법 2 - initMethod, destroyMethod에 대한 나름의 이해 (0) | 2023.10.27 |
[Spring] 빈 생명주기 콜백에 대한 나름의 이해 (0) | 2023.10.22 |
[Spring] 빈 자동등록에 대한 나름의 이해 (0) | 2023.10.21 |
[Spring] 조회한 빈이 모두 필요할 때에 대한 나름의 이해 (0) | 2023.10.18 |