加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 02:08:51 所属栏目:百科 来源:网络整理
导读:如果你已经厌烦使用XML配置Spring Bean,那么你可以尝试使用普通的java类来配置bean,这样避免了XML中字符串导致的错误,让异常从运行期提前到了编译器 以下是基于java配置bean的详细过程,文章的最后附上源码 1.首先配置组件扫描器,这也是唯一需要配置xml

如果你已经厌烦使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读