當前位置 主頁 > 服務器問題 > win服務器問題匯總 > 最大化 縮小

    Spring框架構造注入type屬性實例詳解

    欄目:win服務器問題匯總 時間:2020-01-01 10:57

    這篇文章主要介紹了Spring框架構造注入type屬性實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

    進行測試,驗證一個問題,廢話不多說了,上代碼進行比較

    package service.impl;
    
    import service.UserService;
    import dao.UserDao;
    import entity.User;
    
    /**
     * 用戶業務類,實現對User功能的業務管理
     */
    public class UserServiceImpl implements UserService {
    
      // 聲明接口類型的引用,和具體實現類解耦合
      private UserDao dao;
      private String s1;
      private String s2;
      private int i1;
      
    
      // 生成無參構造方法
      public UserServiceImpl() {
    
      }
    
      // 帶參數構造方法  為dao進行賦值
      public UserServiceImpl(UserDao dao) {
        this.dao = dao;
      }
      public UserServiceImpl(UserDao dao,String s1) {
        this.dao = dao;
        this.s1=s1;
      }
      public UserServiceImpl(String s2,UserDao dao) {
        this.dao = dao;
        this.s2=s2;
      }
      public UserServiceImpl(int i1,UserDao dao) {
        this.dao = dao;
        this.i1=i1;
      }
    
    
      public UserDao getDao() {
        return dao;
      }
    
      // dao 屬性的setter訪問器,會被Spring調用,實現設值注入
      public void setDao(UserDao dao) {
        this.dao = dao;
      }
    
      public void addNewUser(User user) {
        // 調用用戶DAO的方法保存用戶信息
        dao.save(user);
        System.out.println("s1="+s1);
        System.out.println("s2="+s2);
        System.out.println("i1="+i1);
      }
    }

    核心配置文件:

    <bean  class="service.impl.UserServiceImpl">
    <!--通過構造函數的方式,實現構造注入 -->
    <constructor-arg>
      <ref bean="userDao" />
    </constructor-arg>
    <constructor-arg>
      <value>123</value>
    </constructor-arg>
    </bean>

    運行結果:

    保存用戶信息到數據庫
    s1=null
    s2=123
    i1=0

    由此可見,是沒有附上值的 ,為i1變量

    解決辦法:對核心配置文件進行修改,使用type屬性,指定數據類型

    運行結果:

    保存用戶信息到數據庫
    s1=null
    s2=null
    i1=123

    以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持IIS7站長之家。

青海十一选五开奖数据 打好北京麻将技巧 四川金7乐查询 广东麻将推倒胡下载老版本 河北快三重一个号玩法 天津时时彩走势图彩经网 体彩十一运夺金规则 幸运28投注稳赚技巧图 大富翁4fun安卓版下载 浙江11选5走势图表 都汇棋牌?