Spring依赖注入的方式总结

 

  1. ioc创建对象方式
  2. 使用无参构造

 

 

  1. 有参构造对象(3种方式)
    1. 使用<constructor-arg index=0(实列对象的位置)” value=java
    2. 通过类型创建:<bean id =user”  class=com.cuc.user>

    <constructor-arg type=java.lang.value/>

 

</bean>

  1. 直接通过属性名方式赋值

  <bean id=user” class=com.cuc.pojo.user>

<constructor-arg   name=name” value=java/>

</bean>

总结:在配置文件加载的时候,容器中的对象就已经初始化了

5、Spring 配置

5.1别名:<alias name=user(原名)” alias=users(别名)——>容器别名

5.2Bean的配置:

Id:bean的唯一标识符,也就是相当于我们的对象名

Calss:bean对象所对应的的全限定名(包名+类名)

Name 也是别名,而且name可以同时取多个别名

<bean id=userT” calss=com.cuc.user”  name=user2,user3

   <proerty name =name”   value=”勾魏魏”

</bean>

5.3import

这个import 一般用于团队协作开发使用,它可以将配置文件合并成一个

 

假设:在项目中有多个人开发,三个人复制不同的开发,不同的类需要注册在不同的application.xml中,我们可以利用import 将所有的application.xml文件合并到一起。

 

 

<import resource=beans.xml/>

<import resource=beans2.xml/>

6.依赖注入

6.1构造器注入(前面讲过了)

Set方式注入(重点)

  1. 依赖:bean对象创建依赖于容器
  2. 注入:bean对象中的所有属性由容器注入

 

环境搭建(在资源包中的Spring-study下面的第三个模块)

 

  1. 普通注入:<porperty name=name” value=”勾魏魏”>
  2. bean注入:<porperty name=address” ref=address/>
  3. 数组注入:<porperty  name=books>

                <array>

                      <value>红楼梦</value>

<value>西游记</value>

</array>

</porperty>

  1. list注入<property name=hobbys>

         <list>

<value>听歌</value>

<value>敲代码</value>

 

 

</value>

<list>

</property>

 

  1. map注入<property name=card>

           <map>

              <entry  key=”身份证”  value=12345>

  <entry  key=”身份证”  value=12345>

            </map>

</property>

  1. set注入(重点)

<property name=games>

  <set>

    <Value>LoL<Value>

     <Value>BOB<Value>

</set>

</property> 

  1. 空值注入

<property name=wife>

<null/>

</property>

Porpersio....注入

8.<property name=info>

<props>

     <prop  key=”学号”> 123456</prop>

 <prop  key=”性别”> </prop>

 <props>

</property>

拓展注入方式C:P:注入

p标签引入约束(xmlns:p="http://www.springframework.org/schema/p"

  1. bean id="user" class="com.cuc.pojo.User" p:id="1" p:name="勾魏"></bean>

C标签引入约束(xmlns:c="http://www.springframework.org/schema/c"

bean id="users" class="com.cuc.pojo.User" c:id="1" c:name="勾魏魏"></bean>

posted @ 2021-12-07 16:58  wwegooa163dcom  阅读(57)  评论(0)    收藏  举报