Spring的配置方式由最早的xml配置,到xml+注解的配置方式(java 5.0引入一个非常重要的特性:注解)。随着Spring大量使用xml配置被诟病,Spring3.0推出javaConfig的配置方式。也就是java代码+注解来替代原来的xml+注解的配置方式。

1.bean定义

  • xml配置方式
<beans>   
    //这里就是往容器中生成一个id为button的bean 当然也可以打开注解扫描使用@Service、@Component等注解来配置
    <bean id="button" class="javax.swing.JButton">   
        <constructor-arg value="Hello World" />   
    </bean>       
</beans>
  • javaConfig配置方式
//这个注解表明这是配置类 相当于spring配置文件
@Configuration
public class MigratedConfiguration {
	//这个注解表示注册一个bean对象 注解name值即它的id 方法返回值就是bean对象  如果注解没有name值则方法名就是id
	@Bean
	public JButton button() {
		return new JButton("Hello World");
	}
}

2.多配置文件加载

  • xml配置方式
    在spring配置文件中使用<import>节点加载另一个配置文件
<beans>
    <import resource="customerConfig.xml"/>
    <import resource="schedulerConfig.xml"/>
</beans>
  • javaConfig配置方式
//在配置类中使用@Import注释引入另一个配置类当然下面的CustomerConfig.class也得是配置类
@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {
 
}

3.扫描注解bean

  • xml配置方式
//开启annotation
//<context:annotation-config/>
//扫描这个包下的annotation(已包括上面的<context:annotation-config/>)
<context:component-scan base-package="com.test"/>
  • javaConfig配置方式
//这里就包含了<context:annotation-config/>的功能
@ComponentScan(basePackages={"com.test"})
@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {
 
}

在Spring Boot中,Java Config的使用已完全替代了applicationContext.xml,实现了xml的零配置。所以无论从Spring的演进,还是学习Spring Boot的需要,都应该深入学习Spring Java Config的使用方法。

更多JavaConfig知识,参考Spring Boot之Spring Java Config


标题:javaConfig简介
作者:xingzhegu
地址:https://www.fxg.life/articles/2021/11/26/1637934060459.html