[Spring] Annotation 정리

Posted by 신희준 on October 19, 2017


2017 - 10 - 19 (목)

  • Annotation 정리

  • 기본사항 정리


    1 .. Annotation

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

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

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

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

    ▶ @PostConstruct : 상기 애너테이션을 활용하여 간단히 초기화 작업을 수행한다.

    * AOP : 관점지향프로그래밍이며 이를 사용하여 공통적인 부분과 핵심부분을 분리하여 유지보수성을 높여주며 중복코드를 최소화한다.


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

    ▶ @pointcut : aspect bean 객체 내에 있는 공통의 메소드를 언제 실행할 것인가에 대한 조건이다. ( 티셔츠로 따지면 구멍이라 할 수 있음 )

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

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

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

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

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

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

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

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

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