使用構造方法注入和setter注入的配置文件


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
        http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">

    <bean id="test" class="dao.TestDaoImpl" />

    <!-- 將指定類DIServiceImpl配置給spring,讓spring創建其實例 -->
    <bean id="myTestDao" class="dao.TestDaoImpl"></bean>
    <!-- 使用構造方法注入 -->
    <bean id="diService" class="service.DIServiceImpl">
        <!-- 將myTestDao注入到DIServiceImpl類的屬性ITestDao上 -->
        <constructor-arg index="0" ref="myTestDao" />
    </bean>

    <!-- 使用setter方法的注入 -->
    <bean id="testDIService1" class="service.DIServiceImpl1">
        <!-- 調用DIServiceImpl1類的setter方法,將myTestDao注入到DIServiceImpl1類的屬性iTestDao上 -->
        <property name="iTestDao" ref="myTestDao" />
    </bean>

</beans>

構造方法實現類:

package service;
/**
 * IDIService接口的實現類
 *
 * Title: DIServiceImpl
 *
 * Description: 
 *
 * @author Ethan
 *
 * @date 2019年6月25日
 *
 */

import dao.ITestDao;

public class DIServiceImpl implements IDIService{
    private ITestDao iTestDao;
    //構造方法,用於實現依賴注入接口對象iTestDao
    public DIServiceImpl(ITestDao iTestDao) {
        super();
        this.iTestDao = iTestDao;
    }
    public void sayHello() {
        //調用iTestDao中的sayHello方法
        iTestDao.sayHello();
        System.out.println("IDIService構造方法注入");
    }
    
}

setter方式實現類:

package service;

import dao.ITestDao;

public class DIServiceImpl1 implements IDIService{
    private ITestDao iTestDao;
    //添加iTestDao的setter方法,用於實現依賴注入

    public ITestDao getiTestDao() {
        return iTestDao;
    }

    public void setiTestDao(ITestDao iTestDao) {
        this.iTestDao = iTestDao;
    }

    public void sayHello() {
        // TODO Auto-generated method stub
        //調用iTestDao中的sayHello方法
        iTestDao.sayHello();
        System.out.println("TestDaoImpl setter方法注入");
    }
    
    
}

測試類:

package test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import service.IDIService;

public class Tests2 {
    
    /**
     * 構造方法注入測試類
     *
     * Title: Test1
     *
     * Description: 
     * 
     *
     */
    @Test
    public void Test1() {
        ApplicationContext appCon = new ClassPathXmlApplicationContext("applicationContext.xml");
        IDIService ts = (IDIService) appCon.getBean("diService");
        ts.sayHello();
    }
    
    /**
     * 使用setter方式注入測試類
     *
     * Title: Test2
     *
     * Description: 
     * 
     *
     */
    @Test
    public void Test2() {
        ApplicationContext appCon = new ClassPathXmlApplicationContext("applicationContext.xml");
        IDIService ts = (IDIService) appCon.getBean("testDIService1");
        ts.sayHello();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM