Spring
[Spring]Java Configuration
dev-hahm
2023. 12. 14. 22:19
나는 legacy에 xml기반 configuration 보다는 java configuration을 선호하는 편이다.
이유는 xml 보다 java소스로 보는게 좋으니까 ㅎㅎㅎㅎ
@Configuration 어노테이션을 class 상단에 선언해줌
@Configuration
public class CommonConfiguration {
}
그리고 이러한 Configuration을 스캔해서 실행하는 일종의 RootConfiguration이 있어야한다.
@Configuration
@ComponentScan(basePackages= {"패키지경로"})
public class RootConfiguration{
}
Configuration의 종류는 아래정도로 xml과 맵핑되지 않을까 싶다.
context-aspect.xml <-> AspectConfiguration.java
context-transaction.xml <-> TransactionConfiguration.java
context-datasource.xml <-> DataSourceConfiguration.java
context-mapper.xml <-> MapperConfiguration.java
context-common.xml <->CommonConfiguration.java
context-properties.xml <->PropertiesConfiguration.java
context-servlet.xml <-> ServletConfiguration.java
ServletConfiguration이 있어 web.xml을 삭제해도 되지만 그럼 pom.xml이 에러가 난다.
- pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
위 구문을 추가해주면 해결될것이다. (굳이 이런설정을 pom.xml에 넣고 싶지 않으면 web.xml은 살려놔도 됩니다.)