- [Spring App Migration: From XML to Java-based Config](http://www.robinhowlett.com/blog/2013/02/13/spring-app-migration-from-xml-to-java-based-config/)
web.xml 에서 context-param 은 아래와 같다.
```xml
contextConfigLocation
/WEB-INF/spring/context-*.xml
```
contextConfigLocation 과 Dispacher 설정이 필요하다.
to @EnableWebMVC
---
XML namespaces를 대체하는 애노테이션
||@CompnentScan|
||@EableTransactionManagement|
||@EnableWebMvc|
||@EnableAspectAutoProxy|
@Import를 사용한 Java Config 설정 불러오기
```java
@Import(DataAccessConfig.class)
=================================
public class DataAccessConfig{...}
```
@ComponentScan 으로 빈 자동 등록하기
```java
@ComponentScan(basePackages = "petclinic.service")
=================================
```
@EnableWebMvc 으로 Spring MVC 설정
```java
@EnableWebMvc
==========================================
```
@EnableWebMvc 가 등록하는 빈들
```java
@EnalbeWebMvc
// HandlerMapping
// HandlerAdpater
// ContentNegotiationManager
// HttpMessageConverters
// ConversionService(Converter, Formatter)
// etc
```
[Spring PetClinic Sample Application](https://github.com/spring-projects/spring-petclinic)
#### 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 정의
|WEB|mvc-web-config.xml|→|MvcWebConfig.java|
|API|mvc-api-config.xml|→|MvcApiConfig.java|
|Service|business-config.xml|→|BusinessConfig.java|
|Repository|data-access-config.xml|→|DataAccessConfig.java|
|DataSrouce|datasource-config.xml|→|DatasourceConfig.java|
|Tools|tools-config.xml|→|ToolsConfig.java|
#### ApplicationContext 를 관리하는 web.xml
web.xml이 필요한가?
필요하면 어떤 설정을 해줘야 하는가?
- [Spring - Java Based Configuration](http://www.tutorialspoint.com/spring/spring_java_based_configuration.htm)
- [Spring-40-Java-Config-webxml-없애기](http://tiveloper.tistory.com/entry/Spring-40-Java-Config-webxml-%EC%97%86%EC%95%A0%EA%B8%B0)
---
참고
- http://www.slideshare.net/arawnkr/spring-camp-2013-java-configuration