Life Developer
인생 개발자
Bean 등록 어노테이션

@Component - 일반적인 스테레오 타입
@Repository - db를 가지는 클래스
@Service - 비즈니스 로직을 가지는 클래스
@Controller - 웹 앱에서 웹요청과 응답을 처리하는 클래스에서 사용한다.

@Autowired 정밀한 의존관계주입이 필요한 경우
@Resource 기능면에서 Autowired와 동일. 선언위치가 제한적임. setter 메서드에서만 적용가능.
차이점-Autowired는 타입으로, Resource는 이름으로 연결한다.

@Value 단순한 값을 주입 , (ex>     @Value("gibeom") String name;      )
@Qualifier @Autowired와 같이 사용됨. Autowired는 타입으로 찾아 주입하므로, 동일한 타입 bean객체가 여러개 있을경우 어떤 bean을 찾는지 따로 설정해야함.

객체가 여러개 있으면 컨테이너가 누군지 찾을수가 없다.

 

프로퍼티 형식으로 Bean을 등록할때 @Autowired(required=false) 를 주면 없으면 그냥 패스하라는 표시이다.

예를들어

@Autowired(required=false)

@Qualifier("printer1")

private Printer printer;

 

printer1이라는 bean을 찾을수가 없으면 그냥 에러없이 넘어가고 생성자를 호출한다.

(자바에서는 프로퍼티 초기화 먼저하고 생성자 호출한다.)

'Developer' 카테고리의 다른 글

ORM이란?  (0) 2020.07.29
Spring 모듈(Core, Aop)  (0) 2020.07.29
JUnit 이란?  (0) 2020.07.29
application context(어플리케이션 콘텍스트)?  (0) 2020.07.29
Bean 이란? 빈 팩토리란?  (0) 2020.07.29
  Comments,     Trackbacks