어노테이션

두개이상 겹쳐서 사용할 수 있다

 

 

@Required

메서드명 위에 기술하며, 이 메소드를 반드시 호출해야 된다는 의미

 

 

@Autowired

메서드, 멤버변수, 생성자 위에 기술하며, 자동으로 의존객체를 얻어서 저장시켜준다는 의미로 

자료형을 기준으로 객체를 찾아 가져온다(byType)

byType 이 자식 자료형이나 구현한 객체여도 상관없다

 

-멤버 변수, 생성자에 선언한 경우

생성자나 세터메소드등을 작성하지 않고, xml에서도 태그를 생략해도 자동으로 값을 저장시켜준다

-메서드에 선언한 경우

xml에서 property태그나 p네임스페이드를 생략해도 자동으로 값을 저장시켜준다

 

 

@Autowired(required=false)  -> 자동으로 의존성 객체를 얻어와 넣어주는데, 없으면 넣어주지 않아도 된다(에러발생x)

@Autowired(required=true) -> 기본값으로, 무조건 값을 넣어줘야한다(가져올 객체가 없으면 에러발생) 

 

기본값이 requred 이므로 해당되는 객체가 없거나 두개 이상일 경우에는 에러가 발생한다

 

 

@Inject

@Autowired와 기능이 같다

사용하기 위해서는 pom.xml에 기술해야 한다(메이븐에서 다운받을 수 있도록 dependency 작성) 

최근 @Autowired를 대신하여 더 많이 사용한다

 

 

@Resource

이름을 기준으로 객체를 찾아 가져온다(byName)생성자, 메소드, 멤버변수 등에 지정이 가능하다형식) @Resource(name="빈즈 id")

 

 

 

+ Recent posts