오늘은 완벽한 이해없이 무턱대고(?) 사용하였던 설정에 대해 정리해보고자 한다.
<!-- Annotation 활성화 -->
<mvc:annotation-driven/>
<!-- Component 패키지 지정 -->
<context:component-scan base-package="package-name"/>
Spring 설정파일을 보게되면 이렇게 선언된 부분을 볼수있을 것이다.
각 라인에 대해서 정리해보겠다.
어딘가에 bean을 등록해놓으면 @Autowired와 @Qualifier Annotation을 해석해서 가져다 쓰겠다는 의미이다.
@Autowired와 @Qualifier 두 가지만 해결한다.
따라서, 위 태그를 사용하더라도 xml에 bean을 반드시 선언해야 한다.
<!-- Component 패키지 지정 -->
<context:component-scan base-package="package-name"/>
@Component, @Controller, @Service,@Repository, 등의 Annotation이 존재해야 bean을 생성할 수 있다.
자세한 내용은[Spring & Spring Boot/개념] - [Spring] component-scan 사용이유
<!-- Annotation 활성화 -->
<mvc:annotation-driven/>
HandlerMapping : HTTP 요청정보를 이용해서 컨트롤러를 찾아주는 기능
즉, 요청 URL을 보고 어떤Controller가 처리할지 결정하는 역할
HandlerAdapter : HandlerMapping을 통해 찾은 컨트롤러를 직접 실행하는 기능을 수행
MVC XML 네임스페이스
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">
<mvc:annotation-driven />
<beans>
MVC Java Config
@EnableWebMvc
@Configuration
public class WebConfig {
}
MVC Java config를 활성화 하려면 @Configuration 클래스중 하나에 @EnableWebMvc 어노테이션을 추가
default 설정
[MVC XML 네임스페이스 / MVC Java Config] 방법으로 앞서 설명한 RequestMappingHandlerMapping, RequestMappingHandlerAdapter외에 default 설정에 대한 내용이다.
다음은 mvc:annotation-driven로 설정되는 HttpMessageConverter의 전체 목록이다.
메세지 다국어 처리 / 공통 Message 처리 (MessageSource) (0) | 2022.09.19 |
---|---|
REST API 개념 (0) | 2022.07.13 |
[Spring] ApplicationContext / WebApplicationContext 개념 (0) | 2022.03.21 |
[JAVA] Multi-Thread 사용법 (0) | 2022.03.02 |
[Spring] IoC 컨테이너 / Bean (0) | 2021.10.14 |
댓글 영역