<context:annotation-config/>
이미 등록된 bean에 대해서만 Annotation을 활성화한다.
어딘가에 bean을 등록해놓으면 @Autowired와 @Qualifier Annotation을 해석해서 가져다 쓰겠다는 의미이다.
@Autowired와 @Qualifier 두 가지만 해결한다.
따라서 위 태그를 사용하더라도 xml에 bean을 반드시 선언해야 한다.
<context:component-scan/>
<context:component-scan base-package="com.board.controller"/>
설정한 패키지의 하위경로에 있는 class들을 스캔해 Bean 인스턴스를 생성한다.
bean의 등록 여부와 관계없이 스프링이 알아서 bean 스캔을 통해 Annotation을 해석하고 활성화한다.
@Autowired와 @Qualifier 뿐만 아니라 @Service, @Component, @Controller, @Repository 등 모든 클래스를 스캔하고
bean을 작성한다.
따라서 <context:component-scan>를 선언했다면 위의 <context:annotation-config>는 선언할 필요가 없다.
<mvc:annotation-driven/>
<mvc:annotation-driven/>
mvc:annotation-driven은 스프링 MVC 컴포넌트들을 dafault 설정으로 활성화 하기위해
사용된다. 만약 xml파일에 context:component-scan가 있다면 mvc:annotation-driven를 입력하지 않아도 MVC 어플리케이션은 작동할것이다. 그러나 mvc:annotation-driven 은 특별한 일들을 하는데 이 태그는 당신의 @Controllers 에게 요청을 전파하기위해 요구되는 HandlerMapping 와 HandlerAdapter 를 등록한다. 게다가 , 클래스패스상에 존재하는것에 기반한 아래와 같은 어떤 디폴트 작업을 적용한다.
- Using the Spring 3 Type ConversionService as a simpler and more robust alternative to JavaBeans PropertyEditors
- Support for formatting Number fields with @NumberFormat
- Support for formatting Date, Calendar, and Joda Time fields with @DateTimeFormat, if Joda Time is on the classpath
- Support for validating @Controller inputs with @Valid, if a JSR-303 Provider is on the classpath
- Support for reading and writing XML, if JAXB is on the classpath
- Support for reading and writing JSON, if Jackson is on the classpath
출처:
'Dev > Spring' 카테고리의 다른 글
[ Spring ] axios로 AJAX 통신 ( + 415 에러코드 & 한글깨짐) (0) | 2021.03.05 |
---|---|
[ Spring 설정 ] DataSource (DBCP) 설정 (0) | 2021.02.24 |
스프링 MVC with @Annotation (0) | 2021.01.14 |
스프링 MVC + Maven + Tomcat 프로젝트 생성 (0) | 2021.01.12 |
스프링 MVC 기본구조 정리 (0) | 2021.01.10 |