Spring自动装配和注入集合

编程入门 行业动态 更新时间:2024-10-28 15:32:11

BeanElementAtrributes

name用于指定一个bean的别名,别名可以有多个,用逗号/空格/分号隔开
可以通过id或者name都可以获取Dog对应的bean



UnderstandIoC

不是用IoC自己创建对象

使用IoC,将对象交给Spring管理,由spring负责创建和管理对象

ApplicationContext相对于BeanFactory而言,是一种高级容器

   在spring框架中提供两种类型的容器:1、BeanFactory容器:容器中的屌丝,提供了管理bean和管理bean关系的功能以缓慢的方式加载实例化bean,也就是请求bean时才实例化2、ApplicationContext:容器中的高富帅,提供所有BeanFactory容器提供的功能另外也提供一些高级功能,预加载bean,在应用程序启动上下文时,立刻加载实例化所有的单例bean加载配置文件之后,就会产生一个ApplicationContext的容器

UseIoCToDecouple

    IoC结合面向接口编程才能真正实现解耦面向接口编程:定义和实现分离,定义在接口中,实现在类中获取bean的时候尽量用更通用的类型接收,这样可以接收更多类型        这里如果需要将Dog换成Pig的话,只需要将beans.xml中class中的Dog换成Pig即可

UnderstandApplicationContext

每个ApplicationContext对象表示一个容器,多个ApplicationContext对象表示多个容器
每个容器中的bean在该容器内使用
每一个ApplicationContext对象都表示一个独立的容器
如果有个bean是单例的,说明在当前容器内只有一个实例
默认情况下,单例的bean在容器启动,也就是容器加载后会立刻被实例化
单例的bean在调用getBean()的时候实例已经存在,所以该方法只是帮你获取该bean
多例的bean是在请求的时候才会实例化,所以getBean()的调用会导致bean实例化



PropertyInjection

依赖注入的两种方式:
1. 设值的方式注入-使用property标记<bean id="emp1" class=".qdu.beans.Employee"><property name="empId" value="E0001" /><property name="empName" value="高庆澳" /><property name="empGender" value="男" /><property name="empSalary" value="100000" /><!--如果要注入引用的其他bean,name指定属性的名称,ref指定引用的其他bean的id或名称--><!--ref-reference引用--><property name="address" ref="addr1" /></bean>
2.使用构造函数注入2.1-使用constructor-arg标记  *constructor-arg标记说明该属性是通过构造函数作为一个参数进行注入*name指定构造函数参数的名称,value指定要注入的值,ref指定要注入的其他bean的id或名称*也可不设置name,也就是不设置参数的名字,但是需要确保参数的顺序是对的*也可不设置name,而是指定参数的索引,所以从0开始,所以构造函数的第一个参数的索引是0,以此类推*如果要注入引用的其他bean,name指定属性的名称,ref指定引用的其他bean的id或名称<bean id="emp1" class=".qdu.beans.Employee" ><constructor-arg name="eid" value="E0001" /><constructor-arg name="empName" value="高庆澳" /><constructor-arg name="empGender" value="男" /><constructor-arg name="empSalary" value="100000" /><constructor-arg name="address" ref="addr1" /></bean>2.2spring提供另一种使用设值方式注入的简洁写法,但是仍然推荐使用property标记进行注入	<beans> 标签里加上 xmlns:p="springframework./schema/p"        <bean id="emp2" class=".qdu.beans.Employee" p:empId="E00002" p:empName="高海鹏" p:empGender="男" p:empSalary="200000" p:address-ref="addr2"></bean>
依赖注入可用于注入:	
1. 简单值:基本类型的数据和字符串
2. 引用的其他bean,也就是依赖的其他对象p:address-ref="addr2"使用property(属性)标记可以通过设值的方式给bean注入简单值或引用的其他bean
这里注入简单值相当于给属性设置一个值,只是由spring帮你注入这个值   

更多推荐

Spring

本文发布于:2023-05-26 08:20:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/259569.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Spring

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!