首先简单说明java配置类和xml配置
JavaConfig:
@Configuration
public class TJavaConfig {
@Bean
public User getUser() {
return new User();
}
}
上面可以加上@ComponentScan//默认扫描此基础包下Component注解
对应xml配置中为,<context:component-scan base-package="test"/>
XML:
<bean name="user" class="test.User" c:name="zhangsan" c:age="18"/>
第一种,java配置类中引用java配置类
@Configuration
@Import(JavaConfig.class)//导入其他配置类
public class TestDemo {
@Bean
public User getUser() {
return new User();
}
}
第二种,java配置类中引用xml配置
@Configuration
@Import(JavaConfig.class)
@ImportResource("classpath:applicationContext.xml")//导入xml配置
public class TestDemo {
@Bean
public User getUser() {
return new User();
}
}
第三种,xml配置类引用java配置类
我们知道在xml中导入xml是这样的:
<import resource="user.xml"/>
在xml导入java配置类不能使用import,而是用<bean>,其实就是把配置类当做一个bean放进容器:
<bean class="test.User"/>
最后,一般是一个根配置xml文件,集成了我们散乱的配置。
ps:《Spring in action》中推荐优先使用自动装配方式,然后是java配置类,最后才是xml配置,其实也是看个人喜好了。