Spring基于XML的自动装配

一个小例子

  1. Dao层
public interface UserDao {
    public void save();
}
public class UserDaoImpl implements UserDao {
    @Override
    public void save() {
        System.out.println("userDao.save()");
    }
}
  1. 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;
    }
}
  1. 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;
    }
}
  1. 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"/>
  1. 测试
public class Test {
    public static void main(String[] args) {
        ApplicationContext applicationContext =
                new ClassPathXmlApplicationContext("spring.xml");
        UserController userController = (UserController) applicationContext.getBean("userController");
        userController.save();
    }
}
  1. 测试输出
userDao.save()
执行userService.save()
运行了userController.save()
发布了157 篇原创文章 · 获赞 0 · 访问量 5025

猜你喜欢

转载自blog.csdn.net/Mason97/article/details/105622719