티스토리 뷰

SPRING/정리

빈 초기화 메서드 지정

란텔 2016. 8. 21. 17:33

초기화 메서드빈 객체가 생성되고 의존관계 주입이 끝난 시점에 실행되는 메서드를 말한다.


생성자에서 초기화 작업을 해도 되지만 빈에서 주입받는 모든 의존관계 변수나 프로퍼티의 DI 작업이 끝난 시점 이후에 초기화를 해야 될 때 초기화 메서드를 사용한다.



  • 초기화 메서드를 지정하는 방법





init-method속성을 xml 빈 선언시 지정
1
<bean class="dev.wedding.kr.controller.TestTwoController" init-method="initJob"></bean>
cs

빈 정의시에 init-method 속성에 DI작업이 끝난 이후에 호출될 메서드를 선언해준다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Controller
public class TestTwoController {
 
    CarInfoProvider car;
    
    @Resource(name="kiaCar")
    public void setCarInfoProvider(CarInfoProvider car){
        this.car = car;
        car.getPrintCarInfo();
        System.out.println("의존성 주입을 합니다.");
    }
    
    
    void initJob(){
        System.out.println("초기화 작업을 합니다.");
    }
    
}
cs




@PostConstruct 사용

초기화를 담당할 메서드에 @PostContruct를 붙이기만 하면된다..

가장 사용이 권장되는 방식이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Controller
public class TestTwoController {
 
    CarInfoProvider car;
    
    @Resource(name="kiaCar")
    public void setCarInfoProvider(CarInfoProvider car){
        this.car = car;
        car.getPrintCarInfo();
        System.out.println("의존성 주입을 합니다.");
    }
    
    @PostConstruct
    void initJob(){
        System.out.println("초기화 작업을 합니다.");
    }
    
}
 
cs


'SPRING > 정리' 카테고리의 다른 글

@RequestMapping 핸들러 매핑  (0) 2016.08.24
스프링의 컨트롤러, 핸들러 매핑, 인터셉터  (4) 2016.08.23
스코프(scope) 빈  (0) 2016.08.20
프로토타입(prototype) 빈  (0) 2016.08.19
의존관계 빈 설정 방법  (0) 2016.08.14
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
more
Total
Today
Yesterday