Spring

Spring 애너테이션

정숙씨의 쏠쏠한 코딩 2021. 12. 1. 14:28

Spring 3.0 부터는 DI 같은 자바코드와 관련된 설정은 직접 코드에서 할 수 있게 애너테이션(Annotation) 기능을 제공한다.

스프링 기반 애플리케이션에서는 XML에서 설정하는 방법과 애너테이션 기능을 사용하는 방법 두가지를 혼합해서 사용하고있다.

- 스프링 애너테이션 제공 클래스

클래스 기능
DefaultAnnotationHandlerMapping 클래스 레벨에서 @RequestMapping을 처리
AnnotationMethodHandlerAdapter 메서드 레벨에서 @RequestMapping을 처리

- <context:compnent-scan> 태그 기능

<context:compnent-scan> 태그를 사용해 패키지 이름을 지정하면 애플리케이션 실행시 해당 하는 패키지에서 애너테이션으로 지정된 클래스를 빈으로 생성해준다.

<context:compnent-scan base-package="패키지 이름"/>

애너테이션 기능
@Controller 스프링 컨테이너가 component-scan에 의해 지정한 클래스를 컨트롤러 빈으로 자동 변환
@Service 스프링 컨테이너가 component-scan에 의해 지정한 클래스를 서비스 빈으로 자동 변환
@Repository 스프링 컨테이너가 compnent-scan에 의해 지정한 DAO 빈으로 자동 변환
@Component 스프링 컨테이너가 compnent-scan에 의해 지정한 클래스를 빈으로 자동변환

- 스프링 애너테이션을 이용한 URL 요청 실습

MainController.java

action-servlet.xml

 

결과 값