首页 > 代码库 > 基于XML的DI

基于XML的DI

三、集合属性注入(包含:为数组注入值、为List注入值、为Set注入值、为Map注入值、为Properties注入值)

集合类定义如下:

技术分享

 

xml定义如下:仔细看

技术分享

技术分享

技术分享

下面是执行代码:

技术分享

 

 

四、对于域属性的自动注入(包括:byName方式自动注入、byType方式自动注入)

概念如下:

技术分享

 

1、byName方式自动注入

之前xml是这样配置的类里面包括类的成员变量的,如下图,下面画红线的是和上面的mySchool联系在一起

技术分享

下面是基于byName方式的自动方式注入,注意:是自动,再说一遍,是自动,自动意思就是上面图片的画红线部分就不需要了,在bean 节点上配置autowire=“byName”,如下图有说明

技术分享

下面是执行代码

技术分享

 

 2、byType方式自动注入

技术分享

执行代码如下:

技术分享

 

 

 

五、使用SPEL注入(SPEL即:Spring EL表达式语言,SPEL表达式方式以#开头,后跟一对大括号

概念如下:

技术分享

具体怎么使用如下:

技术分享

Person类如下

技术分享

具体执行如下:

技术分享

 

 

六、使用内部Bean注入

若不希望代码直接访问某个bean,即,在代码中通过getBena()方法获取该Bean实例,则可将该Bean的定义放入调用者bean定义的内部。

问题如下,因为这个mySchool是属于student这个方法内部的类,所以不想让只用getBean()方法直接获取mySchool这个实例,如下这样写,这样外部就访问不了School这个类了。

技术分享

下面是之前的配置,可以做一个对比,主要还是想说明上图的内部Bean的配置

技术分享

 

 

 七、使用同类抽象Bean注入

技术分享

 

基于XML的DI