1,先将一个小项目简单的分成四层
controller,service,dao,entity
2,@Controller
@Controller
public class TestController {
@Autowired
@Qualifier("userServiceImp")//方便选择合适实例类,毕竟一个服务层的接口可能会有多个实例类
private UserService userService;
public TestController() {
}
public void printName(User u) {
System.out.println("controller printName:"+u.getName());
userService.printName(u);
}
}
3,@Service
@Service
public class UserServiceImp implements UserService {
@Autowired
private UserDao userdao;
public UserServiceImp() {
}
@Override
public void printName(User u) {
System.out.println("service printName:"+u.getName());
userdao.printName(u);
}
}
4,@Repository
@Repository
public class UserDaoImp implements UserDao {
public UserDaoImp() {
}
@Override
public void printName(User u) {
System.out.println("dao printName:"+u.getName());
}
}
除了第一个控制器的标签,其他标签都是用来自动装载的
5,配置文件内容
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 使用context命名空间,通过Spring扫描指定包下所有Bean的实现类,进行注解解析 -->
<context:component-scan base-package="com"/>
</beans>
6,测试类
ApplicationContext appCon = new ClassPathXmlApplicationContext("applicationContext.xml");//手动获取配置文件对象
TestController testcon = (TestController)appCon.getBean("testController"); //从对象中获取bean
testcon.printName( new User( "Super Man", 20 )) ;
下面再放上要导入的jar包
commons-logging-1.2.jar
spring-beans-5.0.2.RELEASE.jar
spring-context-5.0.2.RELEASE.jar
spring-core-5.0.2.RELEASE.jar
spring-expression-5.0.2.RELEASE.jar
jar包的文件我也会上传
写这篇是为了说明这几种常用标签使用的位置