对于testInjection2()方法;
我们执行的效果是:
第二行是bean1中intsetter中的打印
第三行开始是配置文件中的注入
xml配置文件中配置.
可以发现,spring会将配置文件中的东西一起全部注入.而不管这个是否有被用到.
testInjection2()方法根本没有用到Bean1的settintvalue方法和时间编辑器.
则重新运行testInjection2()方法效果如下:
说明只初始了与testInjection2()方法相关的东西.
结论: spring默认将配置文件中描述的所有依赖关系注入.(延迟默认为false)
注意:配置文件中设置lazy为true.只对该配置文件起作用.对其他配置文件没有效果
我们执行的效果是:
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
第一行是编辑器中的打印
sdfs2008/03/062
一旦注入就会打印.我是bean1的setInt方法3
bean2.bean3.id=104
bean2.bean3.name=这个在公共中有定义值.如果bean3中再定义.则以bean3覆盖原来的配置内容5
bean2.bean3.password=12356
bean2.bean4.id=107
bean2.bean4.name=tom8
bean2.bean5.age=10第二行是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.
<?xml version="1.0" encoding="UTF-8"?>2
<beans3
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">则重新运行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
结果,与其无关的不会打印.
bean2.bean3.id=102
bean2.bean3.name=这个在公共中有定义值.如果bean3中再定义.则以bean3覆盖原来的配置内容3
bean2.bean3.password=12354
bean2.bean4.id=105
bean2.bean4.name=tom6
bean2.bean5.age=10说明只初始了与testInjection2()方法相关的东西.
结论: spring默认将配置文件中描述的所有依赖关系注入.(延迟默认为false)
注意:配置文件中设置lazy为true.只对该配置文件起作用.对其他配置文件没有效果
浙公网安备 33010602011771号