spring的相关配置之Bean标签的使用,对象构建和属性注入

上一篇简单的让spring创建了对象,其实已经在ApplicationContext.xml配置文件中使用过Bean标签了。

接下来详细总结一下Bean标签的使用:


这是一个简单的Bean配置,里面有一个 name属性:

name属性:表示对象名


也有人使用id属性,id属性也是表示对象名,那么id和name功能一样,她们有什么不同呢?

id属性:对象名不可重复,不能使用特殊字符。而name属性:可以使用特殊字符。

class属性:对象的完整类名(你要把类告诉spring,spring才能帮你创建出对象,就是这个意思了)


scope属性:有两个参数选择:

singleton:表示已单例的方式去创建对象(spring的默认选择)

prototype:每次问spring要对象,spring都会创建一个新的对象给你。


init-method属性:对象创建完成后,执行一个方法。

这里我给一个toString参数,让他执行一个toString方法。

这User类中重写toString方法,加上一句打印“我toString执行了”。



对象创建之后,就会执行了 init-method属性中指定的方法。

-----------------------------------------


destroy-method属性:对象销毁前执行的方法。

我在User类中写一个aa方法,然后让她销毁对象,看会不会执行aa方法。



结果是,aa方法执行了。

-----------------------------------------

Bean对象的属性注入

对象能创建,当然就要为对象的属性赋值啦。

首先有通过构造方法注入属性值:


bean标签的内部标签中有constructor-arg标签

name属性:构造器参数名

value:赋值

ref:引用

type:参数类型

index:第几个参数

有了这几个属性就可以准确的选择到对应的构造方法了。

-----------------------------------------

通过set方法对属性注入:

bean标签的内部标签中有property标签。

property有三个属性:

name属性:对象的属性名

value属性:赋值

ref属性:引用

例如:我配置的一个user对象,给属性name赋值“小明”,age属性赋值“18”,phone属性是一个对象类型的,所以我又配置了一个phone对象,然后引用到user的phone属性上。


测试:我只需获取user对象,spring就已经把phone对象注入到了user的phone属性中了。


-----------------------------------------

数组类型的赋值方式:


-----------------------------------------

List集合的赋值方式:


-----------------------------------------

Map集合的赋值方式:


-----------------------------------------

properties的注入方式:


猜你喜欢

转载自blog.csdn.net/qq_40550973/article/details/80746432