新建Web项目
导入jar包:
- Spring 需要的基础jar包:
- SpringMVC的基础jar包:
- Mybatis的基础jar包:
配置Web.xml
配置Spring的启动器 ContextLoaderListener
目的是为了在Tomcat启动时能够加载spring
配置Spring的配置文件的位置
作用是启动时能够找到加载文件
配置文件做好写在src的根目录下,这样容易确定路径
配置Spring配置文件
新建application.xml文件,并在application.xml中配置Spring的配置,设置Spring的扫描路径
配置SpringMVC配置文件
新建springMVC.xml文件,并在springMVC.xml中配置SpringMVC的配置信息:扫描路径,注解解析器和视图解析器
配置application.xml文件
- 配置Mybatis
- 配置数据源
- 配置sqlSessionFactoryBean
- 配置mapper.xml文件的位置
- 配置接口的扫描路径
配置spring-applcation配置文件
新建spring-application.xml文件,配置主要Bean(操作主体,谁要创建对象)和次要bean(作为属性,被创建对象)
完成环境搭建后,新建Bean、Dao、Service、controller文件夹
在Dao中新建UserDao.java和UserDao.xml
- UserDao.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="Dao.UserDao">
<select id="getUserList" resultType="Bean.User">
select *from user
</select>
</mapper>
- UserDao.java
package Dao;
import Bean.User;
import java.util.List;
public interface UserDao {
List<User> getUserList();
}
在Service新建Uservice.java
@Service
public class UserService {
@Autowired
private UserDao userDao;
public List<User> getUserList(){
return userDao.getUserList();
}
}
在Controller新建UserController.java
@Controller
@RequestMapping("/user/")
public class UserController {
@Autowired
private UserService userService;
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
@RequestMapping("touser")
public ModelAndView getUserList(ModelAndView modelAndView){
List<User> userList = userService.getUserList();
modelAndView.addObject("userList",userList);
modelAndView.setViewName("user");
return modelAndView;
}
}
编写实体类
private int uid;
private String userName;
private String password;
private int role;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getRole() {
return role;
}
public void setRole(int role) {
this.role = role;
}
@Override
public String toString() {
return "User{" +
"uid=" + uid +
", userName='" + userName + '\'' +
", password='" + password + '\'' +
", role=" + role +
'}';
}
}
JSP页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title></title>
</head>
<body>
<c:forEach var="user" items="${userList}">
${user.userName}
</c:forEach>
</body>
</html>
为什么要使用Spring
1. 原本的JDBC模式,每次调用都要重新创建对象,浪费内存资源,Spring可以帮我们管理对象,通过单例模式创建对象,减少多余的对象创建过程,节省内存资源
2. IoC(控制反转)
控制反转就是将对象的控制权用户手中反转到Spring,就比如对象的创建,之前是用户请求是,创建对象性,请求一次创建一次新的对象,使用Spring之后,对象的创建权交给了Spring,通过Spring帮我们创建对象,而且通过单例模式创建。
IoC同时也是个容器,是Spring存储对象的容器
DI(依赖注入):Spring可以帮我们对对象中的成员进行赋值