基于xml的自动装配之场景模拟
自动装配:
根据指定的策略,在
IOC
容器中匹配某一个
bean
,自动为指定的
bean
中所依赖的类类型或接口类型属性赋值
UserController 类
public class UserController {
private UserService userService;
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
public void saveUser(){
userService.saveUser();
}
}
UserService 接口
public interface UserService {
/**
* 保存用户信息
*/
void saveUser();
}
UserServiceImpl 实现类
public class UserServiceImpl implements UserService {
private UserDao userDao;
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
/**
* 保存用户信息
*/
@Override
public void saveUser() {
userDao.saveUser();
}
}
UserDao 接口
public interface UserDao {
/**
* 保存用户信息
*/
void saveUser();
}
UserDaoImpl 实现类
public class UserDaoImpl implements UserDao {
/**
* 保存用户信息
*/
@Override
public void saveUser() {
System.out.println("保存成功");
}
}
<?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="userController" class="com.atguigu.spring.controller.UserController">
<property name="userService" ref="userService"></property>
</bean>
<bean id="userService" class="com.atguigu.spring.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="userDao" class="com.atguigu.spring.dao.impl.UserDaoImpl"></bean>
</beans>
测试类
public class AutowireByXmlTest {
@Test
public void testAutowire(){
ApplicationContext ioc = new ClassPathXmlApplicationContext("spring-autowrire-xml.xml");
UserController userController = ioc.getBean(UserController.class);
userController.saveUser();
}
}
