open:spring-java-config

web.xml 에서 context-param 은 아래와 같다.

snippet.xml
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
            /WEB-INF/spring/context-*.xml
        </param-value>
	</context-param>

contextConfigLocation 과 Dispacher 설정이 필요하다.

<mvc:annotation-driven> to @EnableWebMVC


XML namespaces를 대체하는 애노테이션

<context:component-scan>@CompnentScan
<tx:annotation-driven/>@EableTransactionManagement
<mvc:annotation-driven/>@EnableWebMvc
<aop:aspectj-autoproxy/>@EnableAspectAutoProxy

@Import를 사용한 Java Config 설정 불러오기

snippet.java
@Import(DataAccessConfig.class)
=================================
public class DataAccessConfig{...}

@ComponentScan 으로 빈 자동 등록하기

snippet.java
@ComponentScan(basePackages = "petclinic.service")
=================================
<context:componet-scan base-package="petclinic.servcei"/>

@EnableWebMvc 으로 Spring MVC 설정

snippet.java
@EnableWebMvc
==========================================
<mvc:annotation-driven/>

@EnableWebMvc 가 등록하는 빈들

snippet.java
@EnalbeWebMvc
// HandlerMapping
// HandlerAdpater
// ContentNegotiationManager
// HttpMessageConverters
// ConversionService(Converter, Formatter)
// etc

Spring PetClinic Sample Application

XMl 빈 정의 메타정보 구조

  • WebApplicationContext
    • WEB mvc-web-config.xml
  • WebApplicationContext
    • API mvc-api-config.xml
  • RootWebApplicationContext
    • Service business-config.xml
    • Repository data-access-config.xml
    • Tools tools-config.xml
    • DataSource datasource-config.xml

XML 설정 파일별로 Java Config Class 정의

WEBmvc-web-config.xmlMvcWebConfig.java
APImvc-api-config.xmlMvcApiConfig.java
Servicebusiness-config.xmlBusinessConfig.java
Repositorydata-access-config.xmlDataAccessConfig.java
DataSroucedatasource-config.xmlDatasourceConfig.java
Toolstools-config.xmlToolsConfig.java

ApplicationContext 를 관리하는 web.xml

  • open/spring-java-config.txt
  • 마지막으로 수정됨: 2020/06/02 09:25
  • 저자 127.0.0.1