创建依赖关系:UserDao,UserAction,UserService
UserDao:
package zhujie;
import org.springframework.stereotype.Component;
@Component("userDao")
public class UserDao {
public void add() {
System.out.println("连接数据库成功,并已添加用户");
}
}
UserService:
package zhujie;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
@Component("userService")
public class UserService {
@Resource(name="userDao")
private UserDao userDao;
public void add() {
userDao.add();
}
}
UserAction:
package zhujie;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
@Component("userAction")
public class UserAction {
@Resource(name="userService")
private UserService userService;
public String addUser() {
userService.add();
return null;
}
}
app.xml配置:
切记是开启对应的包扫描:<context:component-scan base-package="对应的包名"></context:component-scan>
<?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"
xmlns:p="http://www.springframework.org/schema/p"
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-4.3.xsd">
<!-- 开启base-package 扫描 -->
<context:component-scan base-package="zhujie"></context:component-scan>
</beans>
测试类:
@Test
public void app() {
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("app.xml");
UserAction userAction = (UserAction) applicationContext.getBean("userAction");
userAction.addUser();
}
-------------------------------------------优化------------------------------------------------------------
为了分清楚层次结构:
注解可以对应相应的层次:
如下:
持久层:
package zhujie;
import org.springframework.stereotype.Repository;
@Repository//持久层
public class UserDao {
public void add() {
System.out.println("连接数据库成功,并已添加用户");
}
}
控制层:
package zhujie;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
@Controller//控制层
public class UserAction {
@Resource(name="userService")
private UserService userService;
public String addUser() {
userService.add();
return null;
}
}
控制层下的service层:
package zhujie;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
@Service//控制层下的service层
public class UserService {
@Resource(name="userDao")
private UserDao userDao;
public void add() {
userDao.add();
}
}
欢迎大家留言补充或纠错,相互学习,共同进步!
还是一个小白!
加油!
fighting!