0、UserDao与UserDaoImpl
public interface UserDao {
public void save();
}
public class UserDaoImpl implements UserDao {
public void save() {
System.out.println("UserDao save method running....");
}
}
1、构造方法式
①创建 UserService,UserService 内部在调用 UserDao的save() 方法
public class UserServiceImpl implements UserService {
public void save() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
userDao.save();
}
}
②将 UserServiceImpl 的创建权交给 Spring
<?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.xsd">
<bean id="userDao" class="com.text.dao.impl.UserDaoImpl"></bean>
<bean id="userService" class="com.text.service.impl.UserServiceImpl"></bean>
</beans>
③从 Spring 容器中获得 UserService 进行操作
@Test
public void test2(){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userService = (UserService) applicationContext.getBean("userService");
userService.save();
}
2、set方法式
①在UserServiceImpl中添加setUserDao方法
public class UserServiceImpl implements UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao){
this.userDao=userDao;
}
@Override
public void save() {
userDao.save();
}
}
②配置Spring容器调用set方法进行注入
<bean id="userDao" class="com.text.dao.impl.UserDaoImpl"></bean>
<bean id="userService" class="com.text.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>