File tree 2 files changed +8
-3
lines changed
복습/src/test/java/jpa/demo/lifecycle
2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -20,9 +20,8 @@ public void lifeCycleTest() {
20
20
21
21
@ Configuration
22
22
static class LifeCycleConfig {
23
- // 메서드 이름을 자유롭게 작성 가 + 외부 라이브러리의 초기화&종료 메서드 또한 호출 가능
24
- // 외부라이브러리의 초기화&종료 메서드는 대부분 추론 가능 (이름 : close or shutdown) -> 설정해주지 않아도 된다.
25
- @ Bean (initMethod = "init" , destroyMethod = "close" )
23
+
24
+ @ Bean
26
25
public NetworkClient networkClient () {
27
26
NetworkClient networkClient = new NetworkClient ();
28
27
networkClient .setUrl ("http://spring-dev.com" );
Original file line number Diff line number Diff line change 1
1
package jpa .demo .lifecycle ;
2
2
3
+ import jakarta .annotation .PostConstruct ;
4
+ import jakarta .annotation .PreDestroy ;
3
5
import org .springframework .beans .factory .DisposableBean ;
4
6
import org .springframework .beans .factory .InitializingBean ;
5
7
@@ -32,13 +34,17 @@ public void disconnect() {
32
34
33
35
34
36
// 의존관계 주입이 완료되고 -> 실행됨
37
+ // 최신 스프링부트에서 적극적으로 권장하는 방식
38
+ // 단, 외부라이브러리의 초기화&종료 메서드 호출 시, 사용하지 못함. 수동방식으로 사용해야한다.
39
+ @ PostConstruct
35
40
public void init () {
36
41
System .out .println ("init" );
37
42
connect ();
38
43
call ("초기화 연결 메시지" );
39
44
}
40
45
41
46
// 빈 종료되기 이전에 -> 실행됨
47
+ @ PreDestroy
42
48
public void close () {
43
49
System .out .println ("close" );
44
50
disconnect ();
You can’t perform that action at this time.
0 commit comments