zoukankan      html  css  js  c++  java
  • Spring IOC的Bean对象

    ---恢复内容开始---

    在Spring IOC模块中Bean是非常重要的。在这里我想给大家讲讲关于Bean对象实例化的三种注入方式:

    首先,我先讲一下关于Bean对象属性值的两种注入方式:set注入  和  构造注入

      constructor-arg:通过构造函数注入。 
           property:通过setter对应的方法注入。

    那么什么是注入:在Spring中对Bean属性赋值的过程我们称之为依赖注入

    set注入是通过对象的set方法为对象属性赋值,构造注入是通过bean对象的构造方法为属性注入值.

    set注入:通过封装类的属性,利用get和set方法调用属性,配置会先调用bean对象的无参构造函数构建对象,然后通过set方法为属性赋值。

    在 Spring 配置文件中,用户可以通过 Bean 的属性 property 进行参数注入

     这里设置userDao属性, ref表示引用,此时需要一个userDao的bean

        <property name="userDao" ref="userDao" />

    构造注入:

    当然假如对象提供了对应的构造方法也可以通过指定构造方法为属性注入值

    实际项目中也可以构造注入和set注入混合使用。

    注意:

    依赖注入时可以将配置信息提取到properties文件中,然后通过spring表达式#{id.key}的方式提取数据。

    可以在XML中添加

     <util:properties id="cfg" location="classpath:configs.properties"/>

    那么在Bean中可以:

    其中#为spring表达式特殊标记,{}为表达式内容,cfg为util:properties 标签中定义的id. jdbcUser、jdbcPassword为配置文件等号左边的key

    集合对象的注入:

    在属性值集合的时候,在Bean配置文件中注入:

    最后就是测试了

    依赖对象值注入:

    存在很多个Bean对象,这些对象之间会存在一定依赖关系,当某个Bean对象依赖于其它Bean对象,可以通过spring按照一定的规则(例如按类型或者按名字),进行依赖查找然后进行值的注入

     这个注入由于时间关系就没有写了,大家可以去网上找一下

    ---恢复内容结束---

  • 相关阅读:
    Android Handler主线程和一般线程通信的应用分析
    在java中string为什么要设计成final的
    Java中有几种创建对象的方式
    String和StringBuilder、StringBuffer的区别
    正确的二分查找实现
    SSH编写程序中文乱码解决
    lamda表达式
    kmp算法核心代码
    简洁清晰的quicksort核心代码
    [趣题]生成多个质数的幂积序列
  • 原文地址:https://www.cnblogs.com/zhu-qi/p/9926716.html
Copyright © 2011-2022 走看看