我们执行的效果是:
1
sdfs2008/03/06
2
一旦注入就会打印.我是bean1的setInt方法
3
bean2.bean3.id=10
4
bean2.bean3.name=这个在公共中有定义值.如果bean3中再定义.则以bean3覆盖原来的配置内容
5
bean2.bean3.password=1235
6
bean2.bean4.id=10
7
bean2.bean4.name=tom
8
bean2.bean5.age=10
第一行是编辑器中的打印
2

3

4

5

6

7

8

第二行是bean1中intsetter中的打印
第三行开始是配置文件中的注入
xml配置文件中配置.
可以发现,spring会将配置文件中的东西一起全部注入.而不管这个是否有被用到.
testInjection2()方法根本没有用到Bean1的settintvalue方法和时间编辑器.
1
<?xml version="1.0" encoding="UTF-8"?>
2
<beans
3
xmlns="http://www.springframework.org/schema/beans"
4
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
6
default-lazy-init="false">
其中 default-lazy-init="false" 是默认就为false的. 假如我们设置为true.
2

3

4

5

6

则重新运行testInjection2()方法效果如下:
1
bean2.bean3.id=10
2
bean2.bean3.name=这个在公共中有定义值.如果bean3中再定义.则以bean3覆盖原来的配置内容
3
bean2.bean3.password=1235
4
bean2.bean4.id=10
5
bean2.bean4.name=tom
6
bean2.bean5.age=10
结果,与其无关的不会打印.
2

3

4

5

6

说明只初始了与testInjection2()方法相关的东西.
结论: spring默认将配置文件中描述的所有依赖关系注入.(延迟默认为false)
注意:配置文件中设置lazy为true.只对该配置文件起作用.对其他配置文件没有效果