四.Spring4学习-----依赖注入DI

淩亂°似流年 2022-06-07 04:10 308阅读 0赞

一.依赖注入—dependency Injection

依赖:指bean对象创建依赖于容器。Bean对象的依赖资源

注入:指bean对象依赖的资源由容器来设置和装配

DI(Dependency Injection) — IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如: setter 方法)接受来自如容器的资源注入. 相对于 IOC 而言,这种表述更直接

20171010133105315

二.Spring注入方式

1.构造器注入——Spring注入

  1. 通过构造方法注入Bean 的属性值或依赖的对象,它保证了 Bean 实例在实例化后就可以使用。
  2. 构造器注入在 <constructor-arg> 元素里声明属性, <constructor-arg> 中没有 name 属性
  3. ![20171010133559325][]
  4. 可详见上一讲IOC创建对象的三种方式:**http://blog.csdn.net/aoaoxiaoxian/article/details/78190623**

2.属性注入(setter注入)—— Spring注入

  1. 要求被注入的属性**必须有set方法。Set方法的方法名由set+属性首字母大写。如果属性是booolean没有get方法是is**。

1)常量注入

  1. <bean id="student" class="cn.sxt.vo.Student"> <property name="name" value="张三丰"></property> </bean>

2)bean注入

  1. <bean id="addr" class="cn.sxt.vo.Address"/> <bean id="student" class="cn.sxt.vo.Student"> <property name="name" value="张三丰"/> <property name="addr" ref="addr"/> </bean>

3)数组注入

  1. <bean id="student" class="cn.sxt.vo.Student"> <property name="name" value="张三丰"/> <property name="addr" ref="addr"/> <property name="books"> <array> <value>傲慢与偏见</value> <value>仲夏夜之梦</value> <value>雾都孤儿</value> </array> </property> </bean>
  2. 4)List注入
  3. <property name="hobbies"> <list> <value>羽毛球</value> <value>乒乓球</value> <value>玻璃球</value> <value>台球球</value> </list> </property>
  4. 5)Map注入
  5. <property name="cards"> <map> <entry key="中国银行" value="149127348932174"/> <entry> <key><value>建设银行</value></key> <value>622710023478234234</value> </entry> </map> </property>
  6. 6)set注入
  7. <property name="games"> <set> <value>lol</value> <value>dota</value> <value>cs1.6</value> <value>dnf</value> </set> </property>
  8. 7)Null注入
  9. <property name="wife"><null/></property>
  10. 8)Properties注入
  11. <property name="info"> <props> <prop key="学号">2015052601</prop> <prop key="sex"></prop> <prop key="name">小明</prop> </props> </property>
  12. 9)p命名空间的注入
  13. <!-- p命名空间注入 属性依然要设置set方法 --> <bean id="user" class="cn.sxt.vo.User" p:name="风清扬" p:age="230"/>
  14. 10)c命名空间注入
  15. <!-- c命名空间注入要求有对应参数的构造方法 --> <bean id="u1" class="cn.sxt.vo.User" c:name="nico" c:age="16"/>

发表评论

表情:
评论列表 (有 0 条评论,308人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Spring---DI依赖注入

    上一篇介绍了关于IOC的内容:IOC称为控制反转,简单来说就是讲对象的创建的权利以及对象的生命周期的管理过程交给Spring容器来管理,从此在开发的过程中不需要关注对象的创建以

    相关 Spring依赖注入DI

    开头语:本文是我整理网上各种资料后整合而成的一篇文章。文中涉及到了代码重构、面向接口编程、持久化和工厂设计模式的内容。 1. Spring是什么?