zoukankan      html  css  js  c++  java
  • Spring依赖注入的简化配置

    一, 很久很久以前, 当我们不用@Autowire注解时, 依赖注入要么通过setter方法, 要么通过构造方法;

      需要在配置文件里配置一大堆property-ref..........

    二, 若使用注解, 则造成代码的侵入性较强, 后期改起来也很蛋疼;

    三, 怎么办? ----->  用default-autowire!!

    废话不多说, 直接上代码:

    1, 配置文件:

     1 <beans xmlns="http://www.springframework.org/schema/beans"
     2        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3        xsi:schemaLocation="http://www.springframework.org/schema/beans
     4         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
     5       default-autowire="byName">    //default-autowire 还可以配的值有, byType or  constructo
                
    6 7 <bean id = "demo1" class="testspring.Demo1"></bean> 8 <bean id = "demo2" class="testspring.Demo2"></bean> 9 10 </beans>

    2, 当开启default-wire, Spring会根据相应的策略对bean进行自动装配.

      byName或byType都是set方法注入, 区别根据名称应该就能看出来;

      constructor则是利用构造方法注入;

    2.1 ---- byName

    1 public class Demo1 {
    2 
    3     private Demo2 demo2;    //引用名必须与bean的id相同
    4 
    5     public void setDemo2(Demo2 demo2) {
    6         this.demo2 = demo2;
    7     }
    8 }

    2.2 ---byType

     1 public class Demo1 {
     2 
     3     private Demo2 hehe; //Demo2只要配置成bean就可以成功注入11 
    12     public void setHehe(Demo2 demo2) {
    13         this.hehe = demo2;
    14     }
    15 }

    2.3---constructor

    1 public class Demo1 {
    2 
    3     private Demo2 demo2;
    4 
    5     public Demo1(Demo2 demo2) {
    6         this.demo2 = demo2;
    7     }
    8 }
  • 相关阅读:
    Oracle建立表空间和用户
    fscanf()函数具体解释
    三层架构(我的理解及具体分析)
    ListView嵌套ListView优化
    Android xml 解析
    玩转Web之servlet(三)---一张图看懂B/S架构
    jquery.scrollTo-min.js
    C#中MessageBox使用方法大全(附效果图)
    hdu 1882 Strange Billboard(位运算+枚举)
    MySQL 通配符学习小结
  • 原文地址:https://www.cnblogs.com/wyisprogramming/p/6774294.html
Copyright © 2011-2022 走看看