SIA实战(二):不用XML,使用java类配置Bean

前端之家收集整理的这篇文章主要介绍了SIA实战(二):不用XML,使用java类配置Bean前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如果你已经厌烦使用XML配置Spring Bean,那么你可以尝试使用普通的java类来配置bean,这样避免了XML中字符串导致的错误,让异常从运行期提前到了编译器

以下是基于java配置bean的详细过程,文章的最后附上源码


1.首先配置组件扫描器,这也是唯一需要配置xml的地方

<context:component-scan base-package="com.yonyou.config"/>

2.使用@Configuration注解编写配置类

@Configuration
public class JavaConfig {
    @Bean
    public User user(){
        User user = new User("jay","1234");
        user.setAddress(this.addr());
        return user;
    }

    @Bean
    public Address addr(){
        Address addr = new Address();
        addr.setProvice("BJ");
        addr.setCity("beijing");
        return addr;
    }
}

第一步的组件扫描配置可以扫描到@Configuration注解,表示这是一个用于配置Spring的类

代码中可以看到方法上都加了@Bean,表示这个方法返回的是一个Bean,由Spring容器管理,而方法名就是Bean的id

同时为Bean装配属性也变得十分简单,可以用构造器注入,也可以用setter注入,更加符合java的编写习惯

3.编写测试代码
目前已经向Spring容器注册了Bean,那么怎么取出来呢?

ApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);
Address address = (Address) context.getBean("addr");
System.out.println(address);
User user = (User) context.getBean("user");
System.out.println(user);

可以看到这里使用了AnnotationConfigApplicationContext,传入的参数是java配置类的字节码对象
输出结果如下:

Address [provice=BJ,city=beijing]
User [username=jay,password=1234,address=Address [provice=BJ,city=beijing]]

工程源码:http://download.csdn.net/detail/yj7758423/9753621

猜你在找的XML相关文章