目录结构
代码
UserContronller.java
package bean.auto.controller;import bean.auto.service.UserService;
import bean.auto.service.UserServiceImpl;public class UserContronller {private UserService userService;public void setUserService(UserService userService) {this.userService = userService;}public void addUser(){System.out.println("controller方法执行了");
// UserServiceImpl userService = new UserServiceImpl();userService.addUserService();}
}
UserService.interface
package bean.auto.service;public interface UserService {public void addUserService();
}
UserServiceImpl.java
package bean.auto.service;import bean.auto.dao.UserDao;public class UserServiceImpl implements UserService{private UserDao userDao;public void setUserDao(UserDao userDao) {this.userDao = userDao;}@Overridepublic void addUserService() {System.out.println("userservice方法执行了");userDao.addUserDao();}
}
UserDao.interface
package bean.auto.dao;import org.junit.platform.commons.util.PackageUtils;public interface UserDao {public void addUserDao();
}
UserDaoImpl.java
package bean.auto.dao;public class UserDaoImpl implements UserDao{@Overridepublic void addUserDao() {System.out.println("userdao方法执行了");
// UserDaoImpl userDao = new UserDaoImpl();}
}
UserTest.java
package bean.auto;import bean.auto.controller.UserContronller;
import org.junit.jupiter.api.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class UserTest {@Testpublic void test(){ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("bean-auto.xml");UserContronller uc = ac.getBean("userController", UserContronller.class);uc.addUser();}
}
bean-auto.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.xsd">
<!--根据类型自动装配--><bean id="userController" class="bean.auto.controller.UserContronller" autowire="byType"></bean><bean id="userService" class="bean.auto.service.UserServiceImpl" autowire="byType"></bean><bean id="userDao" class="bean.auto.dao.UserDaoImpl" autowire="byType"></bean></beans>
控制台输出