본문 바로가기

Spring

[Spring] Annoation 정리




▶ @Autowired : 의존성을 주입하여 자동을 객체를 생성해주며 메소드 위에 사용할 경우 기본생성자를 만들어준다. 
@Autowired 는 타입에 따라 매핑되기 때문에 동일 인터페이스를 상속받을 경우 구분의 모호함이 발생할 수 있음. 

의존관계를 자동설정할 때 사용하며 타입을 이용하여 의존하는 객체를 삽입해 준다. 그러므로 해당 타입의 빈객체가 존재하지 않거나 또는 2개 이상 존재할 경우 스프링은 예외를 발생시키게 된다.



▶ @Qualifier : Type에 따라 매칭되는 @Autowired의 불편함을 줄여주기위해 상기 Annotation을 활용하여 특정 bean을 가리켜준다. 
@Autowired 아래 @Quailfier("빈이름") 형식으로 사용한다.

▶ @Resource : Autowired와 Quailfier를 합친 형태이다. 
@Resource(name ="bean이름") 형식으로 사용한다.

▶ Component-scan : xml을 좀더 가볍게 하기위해 활용하며 xml에 component-scan을 추가한다. 
context:component-scan base-package = "의존성을 주입할 경로" 와 같은 형태로 쓰인다.
▶ @Component Annotation을 Autowired할 클래스위에 표시해준다. 

▶ @PostConstruct : 상기 Annotation을 활용하여 간단히 초기화 작업을 수행한다. 


▶ @Aspect : 공통적인 부분을 가지는 클래스 위에 써서 공통 Bean을 만든다. 

▶ @pointcut : aspect bean 객체 내에 있는 공통의 메소드를 언제 실행할 것인가에 대한 조건이다.

▶ @around : pointcut에 들어가는 Advice를 감싸는 부분이다. 

▶ @RequestMapping : 특정 URI 에 매칭되는 클래스나 메소드임을 명시해준다. 

▶ @Controller : 스프링 MVC 컨트롤러 객체임을 명시한다. 

▶ @RequestParam : 요청에서 특정한 파라미터의 값을 찾아낼 때 사용. 

▶ @Repository : @Component의 하위 계층이며 DAO객체임을 명시한다. 

▶ @Service : @Component의 하위 계층이며 Service객체임을 명시한다. 

▶ @ModelAttribute : 자동으로 해당 객체를 뷰까지 전달한다. 

▶ @PathVariable : 현재의 URI에서 원하는 정보를 추출. 

▶ @SessionAttribute : 세션상에서 모델의 정보를 유지하고 싶은 경우에 사용


부가적 참고 : https://noritersand.tistory.com/156#@Component

 https://noritersand.tistory.com/474

정리 잘 되있는 블로그 : https://noritersand.tistory.com/