您的位置:首页 > 编程语言 > Java开发

《Spring 2.0 技术手册》读书笔记四-非XML的Bean定义文件配置

2010-11-14 16:43 453 查看
上篇文章详细介绍了基于XML的Bean定义文件的常用配置方式,本文简单介绍不用xml文件来定义Bean的两种方法:.properties文件,程序配置Bean。但是个人觉得spring就是由于使用xml来配置Bean,才使得开发简单,表述强大,所以没有必要再使用其他方式。但也不忽略个别特殊情况,可能使用这两种方式比xml配置要更适合。所以简单了解如下。

.properties配置

可以新建一个文件如beans-config.properties

helloBean.(class)=HelloBean
helloBean.helloWord=Weclome Spring Properties!


“helloBean”即为Bean的别名设置,.(class)用于指定类源。像其他.(abstract)、.(parent)、.(lazy-init)、.(singleton)等,都可以用来设置相关属性。.helloWord,为HelloBean的属性名。要是引用已存在的实例,可以为.helloWord(ref)。其他的就不再详解。

读取.properties文件的代码如下:

BeanDefinitionRegistry reg=
new DefaultListableBeanFactory();
PropertiesBeanDefinitionReader reader=
new PropertiesBeanDefinitionReader(reg);
reader.loadBeanDefinitions(
new ClassPathResource("beans-config.properties"));

BeanFactory factory = (BeanFactory)reg;
HelloBean hello=(HelloBean)factory.getBean("helloBean");
System.out.println(hello.getHelloWord());


输出结果应该就是beans-config.properties文件指定的"Weclome Spring Properties!"。

代码配置

不用任何文件来定义Bean,全在代码中设置属性和Bean间的依赖关系,如下:

MutablePropertyValues properties=
new MutablePropertyValues();
properties.add("helloWord", "Welcome Spring NoConfig!");

//设置Bean
RootBeanDefinition definition=
new RootBeanDefinition(HelloBean.class,properties);

//注册Bean定义与Bean别名
BeanDefinitionRegistry reg=
new DefaultListableBeanFactory();
reg.registerBeanDefinition("helloBean", definition);

BeanFactory factory=(BeanFactory)reg;
HelloBean hello=(HelloBean)factory.getBean("helloBean");
System.out.println(hello.getHelloWord());


输出结果应为"Welcome Spring NoConfig!"。

这两种Bean配置方式,都较为复杂、不易阅读。稍微了解即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: