美文网首页
Spring IoC

Spring IoC

作者: 王杰磊 | 来源:发表于2019-03-05 10:47 被阅读0次

一、IoC容器

  • Spring通过IoC容器来管理所有Java对象(也称bean)及其相互之间的依赖关系。

1.1依赖注入与控制反转

依赖注入和控制反转其实就是一个事物的
控制反转一般分为依赖注入和查找依赖的两种不同说法而已,本质上是一回事。

1.2注入方式

  • 1.构造器注入
<bean id="exampleBean" class="waylau.ExampleBean">
   <constructor-arg name="years" value="2015"/>
   <constructor-arg name="months" value="12"/>
</bean>
  • 2.Setter注入
    <bean id="exampleBean" class="waylau.ExampleBean">
    <property name="years" value="2015"/>
    <property name="months" value="12"/>
    </bean>

1.3依赖注入的详细配置

  • 直接赋值
    支持字符串和原始数据类型
<bean id="myDatasouce" class="org.apache.commons.dpcp.BasicDataSource" destroy-method="close"
     p:driverClassName="com.mysql.jdbc.Driver"
     p:url="jdbc:mysql://locationhost:3306/mydb"
     p:username="root"
     p:password="masterkaoli"/>
  • 引用其他bean
    如果bean之间有协作关系,则可以引用其他bean。rel元素是<constructor-arg>或者<property>中的一个终极标签。开发者可以通过这个标签配置一个bean来引用另一个bean。
<bean id="car1" class="com.Spring.IoC.Car">
   <property name="name" value="benz"/>
   <property name="color"  value="pink"/>
   <property name="parameter" value="3.3T"/>
</bean>
<bean id="boss" class="com.Spring.IoC.Boss">
  <constructor-arg name="name" value="马云"/>
  <constructor-arg name="car" rel="car1"/>
</bean>
  • 集合
    在<list><set><map>和<props>元素中,开发者可以配置Java集合类型List(可以出现重复)、Set(不能出现重复)、Map及Properties的属性和参数
<bean id=""moreComplexObject" class="waylau.ComplexObject">
   <property name="adminEmails">
   <props>
        <prop key="administrator">administrator@waylau.com</prop>
        <prop key="support">support@waylau.com</prop>
        <prop key="development">development@waylau.com</prop>
   </props>
   </property>
   <property name="somList">
         <list>
              <value>a list element followed by areference</value>
              <rel bean="myDataSource"/>
         </list>
   </property>
   <property name="someMap">
         <map>
               <entry key="an entry" value="just some string"/>
               <entry key="a ref" value-ref="myDataSource"/>
          </map>
   </property>
   <property name="someSet">
        <set>
            <value>just some string</value>
            <ref bean="myDataSource"/>
        </set>
   </property>
</bean>

map的key或value,或者是集合的value都可以配置为下列元素。
bean|ref|idref|list|set|map|props|value|null

相关文章

网友评论

      本文标题:Spring IoC

      本文链接:https://www.haomeiwen.com/subject/nrtnuqtx.html