• Spring_DI


    DI

    DI全称:Dependency Injection又称作依赖注入,依赖注入的好处是可扩展。

    依赖注入的分类:

    1.设值注入

    在设值注入中,Bean必须有针对该属性的setter方法,并且Bean定义文件中有该属性的设值,例如:

    Java类

     1 public class HelloWorld {
     2 
     3     private String name; 
     4 
     5 
     6     public void setName(String name) {
     7 
     8         this.name = name;
     9 }
    10 }

    配置文件

    1 <bean id = "helloworld" class = "com.feimao.DI.test.HelloWorld">
    2 
    3    <property name = "name" ref = "feimao"/>

    构造方法注入

    可以使用<construct-arg>元素来表示构造方法注入

    关于构造参数顺序

    通过定义文件的书写顺序,例如:

     1 public class User {
     2 
     3     private Integer age; 
     4 private String name;
     5 public User(Integer age , String name) {
     6 
     7         this.age = age;
     8 this.name = name;
     9 }
    10 }

    定义文件

    1 <bean id = "user" class = "com.feimao.DI.test.User">
    2 < construct-arg  value = "28"/>
    3 < construct-arg  value = "feimao"/>
    4 </bean>

    如果有两个相同的属性,通过index属性指定

    定义文件

    1 <bean id = "user" class = "com.feimao.DI.test.User">
    2  < construct-arg  value = "28" index = “0”/>
    3 < construct-arg  value = "feimao" index = “1”/>
    4 </bean>

    值属性

    可以直接使用<value> </value>元素或者value属性来设置基本类型和字符串

    推荐使用:

    1 <bean id = "user" class = "com.feimao.DI.test.User">
    2 < property name = “name” value = "feimao"/>
    3 < property  name = “age”  value = "28"/>
    4 </bean>

    依赖注入的属性设置

    空值null

    1 <bean id = "user" class = "com.feimao.DI.test.User">
    2 < property name = “name”>
    3   <null/>
    4 /property>
    5  </bean>

    如果是空字符串,写成这样<value></value>即可

    集合对象属性

    通过<list/>、<set/> <map/>及<props/>可以定义和设置与Java Collection集合类型对应的List、Set、Map及Properties的值

    List

    1 < property name = “someList”>
    2 <list>
    3      <value>a list element followed by a reference</value>
    4      <ref bean=”myDataSource”/>
    5 </list> 
    6 </property>

    Set

    1 < property name = “someSet”>
    2 <set>
    3      <value>just some string</value>
    4      <ref bean=”myDataSource”/>
    5 </set> 
    6 </property>

    Map

     1 < property name = “someMap”>
     2 <map>
     3     <entry>
     4         <key>
     5             <value>yup a entry</value>
     6         </key>
     7              <value> just some string </value>
     8      </entry>
     9 </map> 
    10 </property>

    Properties

    1 < property name = “adminEmails”>
    2 <props>
    3      <prop key=”administrator@somecompany.org”</prop>
    4      <prop key=”support@somecompany.org”</prop>
    5      <prop key=”development@somecompany.org”</prop>
    6 </props> 
    7 </property>
     
  • 相关阅读:
    SVN增加文件后,文件无法自动包括在项目中的原因
    关于浏览器和IIS基础的简单理解
    关联查询之速度优化
    <>这个符号表示泛型的意思
    傅里叶变换
    distinct和group by的性能比较
    VS2010 代码前出现虚线
    SQL的 like 中间字符通配 用法
    模态对话框中的window.close关闭时会打开新页面
    最大差值
  • 原文地址:https://www.cnblogs.com/feimaoyuzhubaobao/p/10029845.html
Copyright © 2020-2023  润新知