一、實現(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