spring注入對象類型屬性(重點)

一、實現(xiàn)過程

(1)在service里面把dao作為類屬性
(2)生成dao類型屬性的set方法
(3)在配置文件完成注入關(guān)系
image.png

二、代碼

service層 UserService.java

package work.zhangdoudou.service;

import work.zhangdoudou.dao.UserDao;

public class UserService {
    //1定義一個dao類型的屬性
    private UserDao userDao;
    //2生成set方法
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }
    
    public void add(){  
        System.out.println("service-------");
        
        //在service里面調(diào)用dao類對象,才能調(diào)用dao里面的方法
        userDao.add();
    }
    
}

dao層 UserDao.java

package work.zhangdoudou.dao;

public class UserDao {
    public void add(){
        System.out.println("dao--------");
    }
}

配置文件applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
   
    <!-- 注入對象類型屬性 -->
    <!-- 配置service和dao對象 -->
    <bean id="userDao" class="work.zhangdoudou.dao.UserDao"></bean>
    <bean id="userService" class="work.zhangdoudou.service.UserService">
        <!-- 注入dao對象,不寫value屬性,現(xiàn)在是對象寫ref 
            name:寫service類里面屬性名稱
            ref:寫dao配置的id名稱
        -->
        <property name="userDao" ref="userDao"></property>
    </bean>
   
</beans>

測試類TestUser.java

package work.zhangdoudou.test;

import static org.junit.Assert.*;

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

import work.zhangdoudou.service.UserService;

public class TestUser {

    @Test
    public void test() {
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
        UserService userService= (UserService)context.getBean("userService");
        userService.add();
    }
}

三、運行結(jié)果

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,678評論 19 139
  • 今天內(nèi)容介紹 Spring框架的IOC基于注解的方式 注解類型 注解生命周期 Spring框架整合JUnit單元測...
  • 一、配置maven的pom.xml加載jar包 為了后續(xù)開發(fā)的方便,將SSM框架所有需要的jar包一并加載進來 p...
    docki閱讀 2,417評論 1 23
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,806評論 18 399
  • copy:對于可變對象為深拷貝,引用計數(shù)不改變;對于不可變對象是淺拷貝, 引用計數(shù)每次加一。始終返回一個不可變對象...
    CodeGeass閱讀 534評論 0 0

友情鏈接更多精彩內(nèi)容