javaConfig简介

 

spring的配置方式由最早的xml配置,到xml加注解的配置方式(java ee5.0引入一个非常重要的特性--annotation)。随着spring大量使用xml配置被诟病,spring4.0推出javaConfig的配置方式。也就是java代码+注解来替代原来的xml+注解的配置方式。我个人喜欢xml+注解的配置方式,更直观。

下面举几个例子来说明javaConfig的配置方式:

 

一. spring ioc中的bean

xml配置方式中的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-3.2.xsd">   
//这里就是往容器中生成一个id为button的bean 当然也可以打开注解扫描使用@Service、@Component等注解来配置
        <bean id="button" class="javax.swing.JButton">   
            <constructor-arg value="Hello World" />   
        </bean>       
    </beans>  

 

javaConfig配置方式的java类

//这个注解表明这是配置类 相当于spring配置文件
@Configuration  
    public class MigratedConfiguration {  
//这个注解表示注册一个bean对象 注解name值即它的id 方法返回值就是bean对象  如果注解没有name值则方法名就是id
        @Bean  
        public JButton button() {  
            return new JButton("Hello World");  
        }  
    }  

 

 

二、多配置文件加载

xml方式

 

在spring配置文件中使用<import>节点加载另一个配置文件

 

 

javaConfig方式

//在配置类中使用@Import注释引入另一个配置类当然下面的CustomerConfig.class也得是配置类
@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {

}

 

 

 

三.扫描注解bean

xml方式

//开启annotation
<context:annotation-config/>
//扫描这个包下的annotation
<context:component-scan base-package="com.test"/>

 

javaConfig方式

//这里就包含了<context:annotation-config/>的功能
@ComponentScan(basePackages={"com.test"})
@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {

}

 

 

还有像是@PropertySource加载配置文件,@EnableAspectAutoProxy@Aspect使用aspect切面,@EnableScheduling@Scheduled使用计划任务等等注解

 

另外在Web环境中使用javaConfig需要在web.xml中加入如下代码

<context-param>  
    <param-name>contextClass</param-name>  
    <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>  
</context-param>  
<context-param>  
    <param-name>contextConfigLocation</param-name>  
    <param-value>com.packtpub.learnvaadin.springintegration.SpringIntegrationConfiguration</param-value>  
</context-param> 

 

 

其实了解javaConfig主要是为了springboot。。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值