Spring中对象和属性的注入方式

怎甘沉沦 提交于 2020-03-02 07:20:39

一:Spring的bean管理

     1.xml方式

  

bean实例化三种xml方式实现

第一种 使用类的无参数构造创建,首先类中得有无参构造器(重点)

 

 

第二种 使用静态工厂创建

(1)创建静态的方法,返回类对象

 

 

 

第三种 使用实例工厂创建

(1)创建不是静态的方法,返回类对象

 

  

  2.注解方式

1.导入jar包

2.引入约束

3.创建类对象,在对象上使用注解实现

4.开启注解扫描

5.测试

 

创建对象有四个注解

(1)@Component

(2)@Controller

(3)@Service

(4)@Repository

目前这四个注解功能是一样的,都创建对象

 

二:属性注入介绍

属性注入的xml方式介绍(三种方式)

(1)使用set方法注入

 

(2)使用有参数构造注入

(3)使用接口注入(不是重点)

 

注入对象类型属性(重点)

 

注解注入属性(对象也是)

(1)创建dao和service对象

 

(2)在service类里面定义dao类型属性 Autowired不需要匹配对象属性的value值userDao。

注入属性第二个注解 @Resource这个注解的name值需要与dao对象属性的valueuserDao匹配

 

 

三:

注入复杂类型属性

1 数组

2 list集合

3 map集合

4 properties类型

    <!-- 注入复杂类型属性值 -->

    <beanid="person"class="cn.itcast.property.Person">

       <!-- 数组 -->

       <propertyname="arrs">

           <list>

              <value>小王</value>

              <value>小马</value>

              <value>小宋</value>

           </list>

       </property>

      

       <!-- list -->

       <propertyname="list">

           <list>

              <value>小奥</value>

              <value>小金</value>

              <value>小普</value>

           </list>          

       </property>

      

       <!-- map -->

       <propertyname="map">

           <map>

              <entrykey="aa"value="lucy"></entry>

              <entrykey="bb"value="mary"></entry>

              <entrykey="cc"value="tom"></entry>

           </map>

       </property>

      

       <!-- properties -->

       <propertyname="properties">

           <props>

              <propkey="driverclass">com.mysql.jdbc.Driver</prop>

              <propkey="username">root</prop>

           </props>

       </property>

    </bean>

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!