1
@Autowired
타입을 기준으로 의존객체를 자동주입해줌
만약 같은 타입이 여러게 있다면 qualifier를 통해 어떤것을 사용할것인지 구별해줌
bean의 아이디와 WordDao wordDao의 wordDao가 같으면 오류가 발생하지 않지만 좋은 방법은 아니다.
2
@Resource
이름을 기준으로 의존객체를 자동주입해줌(
name옵션을 통해 자동으로 연결될 빈객체의 이름을 입력해줄수 있음.
3
@inject
Autowired타입과 사실상 거의 같다고 봐도 무방하다.
inject의 경우 required를 지원하지는 않고, autowired의 qualifier를 지원하지만 않지만
@Named(value="bean객체의 Id입력")를 통해 구별하여 사용할 수 있다.
@Autowired 필드,생성자, setter 적용가능 |
@inject |
@Resource 필드, 입력파라미터가 한개인 빈 프로퍼티 setter메소드에 적용가능 |
타입->이름 |
타입으로 자동주입 |
이름->타입 |
autowired와 inject의 차이라면 inject와 resource는 java에서 사용할 수 있는 어노테이션 , autowired는 스프링에서만 사용할수 있는 어노테이션이다.
스프링컨테이너가 생성되면서 동시에 bean도 생성된다고 생각하면된다.
bean이 사라지는 시기는 스프링컨테이너가 사라지는 순간(ex ctx.close())
bean에는 initializingbean, DisposableBean 2개의 인터페이스가 있음
initializingbean은 afterPropertiesset()메서드를
DisposableBean은 destory() 메서드를 제공함
첫번째의 경우에는 빈이 생성됨과 동시에 특정 동작을 하기를 원할때 사용하는것이고,
두번째의 경우에는 빈이 소멸되기전이다.
또 다른 방법으로는 <bean>에 init-method="", destroy-method=""의 값을 통해 빈이 생성됨과, 소멸직전에 특정 동작을 실행시킬수 있다.
'● 개인 공부 > jsp & 프레임워크' 카테고리의 다른 글
| struts- 공부전 세팅(2) (0) | 2018.11.06 |
|---|---|
| struts- 공부전 세팅(1) (0) | 2018.11.06 |