對于testInjection2()方法;
我們執(zhí)行的效果是:
第二行是bean1中intsetter中的打印
第三行開始是配置文件中的注入
xml配置文件中配置.
可以發(fā)現(xiàn),spring會將配置文件中的東西一起全部注入.而不管這個是否有被用到.
testInjection2()方法根本沒有用到Bean1的settintvalue方法和時間編輯器.
則重新運行testInjection2()方法效果如下:
說明只初始了與testInjection2()方法相關的東西.
結論: spring默認將配置文件中描述的所有依賴關系注入.(延遲默認為false)
注意:配置文件中設置lazy為true.只對該配置文件起作用.對其他配置文件沒有效果
我們執(zhí)行的效果是:
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配置文件中配置.
可以發(fā)現(xiàn),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.只對該配置文件起作用.對其他配置文件沒有效果