一个小例子
- Dao层
public interface UserDao {
public void save();
}
public class UserDaoImpl implements UserDao {
@Override
public void save() {
System.out.println("userDao.save()");
}
}
- Service层
public interface UserService {
public void save();
}
public class UserServiceImpl implements UserService {
private UserDao userDao;
@Override
public void save() {
this.userDao.save();
System.out.println("执行userService.save()");
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
- Controller层
public class UserController {
private UserService userService;
public void save(){
this.userService.save();
System.out.println("运行了userController.save()");
}
public void setUserService(UserService userService) {
this.userService = userService;
}
}
- XML文件
<bean id="userDao" class="com.mason.annotation.UserDaoImpl"/>
<bean id="userService"
class="com.mason.annotation.UserServiceImpl" autowire="byName"/>
<bean id="userController"
class="com.mason.annotation.UserController" autowire="byName"/>
- 测试
public class Test {
public static void main(String[] args) {
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("spring.xml");
UserController userController = (UserController) applicationContext.getBean("userController");
userController.save();
}
}
- 测试输出
userDao.save()
执行userService.save()
运行了userController.save()