2013년 11월 25일 월요일

Spring Framework @Autowired, Spring DI/DL/IOC @Autowired 애노테이션은 의존관계를 자동으로 설정...

Spring Framework @Autowired, Spring DI/DL/IOC

@Autowired 애노테이션은 의존관계를 자동으로 설정해 주는데 타입을 이용하여 자동으로 자바빈을 주입시켜 준다. 생성자, 멤버변수(필드), 메소드 모두 가능하다.

아래 예제는 필드에 @Autowired를 적용하는 경우다.

@Autowired를 사용안했을 때

<bean id="boardDAO" class="SpringBoardDAO" />

<bean id="boardService" class="SpringBoardService">
   <property name="boardDAO" ref="boardDAO" />
</bean>

그리고 자바소스에서...

public class SpringBoardService {

   private SpringBoardDAO boardDAO;


   public void setBoardDAO(SpringBoardDAO boardDAO) {
      this.boardDAO = boardDAO;
   }

   ...
}


@Autowired을 사용하면...

<context:annotation-config />
<bean id="boardDAO"         class="SpringBoardDAO" />
<bean id="boardService"     class="SpringBoardService" />


그리고 자바소스에서...

import org.springframework.beans.factory.annotation.Autowired;

public class SpringBoardService {

   @Autowired
   private SpringBoardDAO boardDAO;

}

@Autowired은 주입시킬 객체가 없거나 두개 이상일 경우 오류를 발생시키는 데,
@Autowired(required=false)로 설정하여 자동으로 의존관계를 설정할 빈이 없더라도 
오류가 안생기도록 하는 것또한 가능하다.

댓글 없음:

댓글 쓰기