Xml과 Java Config
Xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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.xsd">
<bean id="studentDao" class="ems.member.dao.StudentDao" />
<bean id="registerService" class="ems.member.service.StudentRegisterService">
<constructor-arg ref="studentDao" />
</bean>
</beans>
public class MainMethod {
public static void main(String[] args) {
ApplicationContext ac = new GenericXmlApplicationContext("classpath:applicationContext.xml")
StudentDao dao = ac.getBean(StudentDao.Class);
}
}
Java Config
@Configuration
public class MemberConfig {
@bean
public StudentDao studentDao() {
return new StudentDato();
}
@Bean
public StudentRegisterService registerService() {
return new StudentRegisterService(studentDao());
}
}
public class MainMethod {
public static void main(String[] args) {
ApplicationContext ac = new AnnotationConfigApplicationContext(MemberConfig.class);
StudentDao dao = ac.getBean(StudentDao.Class);
}
}
Xml과 Java Config 혼합
1) Java in Xml
- <bean class=”자바config파일” />
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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.xsd">
<context:annotation-config />
<bean class="ch01.service.Board" /> <!-- 혼합시킬 자바 Config -->
<bean id="studentDao" class="ems.member.dao.StudentDao" />
<bean id="registerService" class="ems.member.service.StudentRegisterService">
<constructor-arg ref="studentDao" />
</bean>
</beans>
2) Xml in Java
- @ImportResource(“xml파일”)
@ImportResource("classpath:/ch01/service/configBoard.xml") // 혼합시킬 xml
@Configuration
public class MemberConfig {
@bean
public StudentDao studentDao() {
return new StudentDato();
}
@Bean
public StudentRegisterService registerService() {
return new StudentRegisterService(studentDao());
}
}
Configuration
1) Xml
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<!-- scan package range -->
<context:component-scan base-package="com.demo" />
<mvc:defalut-servlet-handler />
<mvc:view-controller path="/" view-name="index />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
</beans:beans>
2) Java Config
@EnableWebMvc
@ComponentScan(basePackages = {"com.demo"})
@Configuration
public class ServletConfig extends WebMvcConfigurerAdapter {
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Override
public void addViewControllers(final ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("index");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
registry.viewResolver(resolver);
}
}