前言:
该文章是基于 SpringBoot整合MyBatis框架快速入门 文章的基础上实现的下列功能。
SpringMVC框架概述:
SpringMVC 是一种基于 Java 实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。
前期准备
1.编辑pom.xml文件,添加Spring web依赖,Thymeleaf依赖
Web依赖(提供了Spring MVC核心API,同时会嵌入一个Tomcat服务器)
<!-- 添加Spring web依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Thymeleaf依赖(提供了一个视图解析器对象以及数据绑定机制)
<!-- 添加Thymeleaf依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2.在application.properties中添加视图解析器配置
# server port
server.port=80
# Spring thymeleaf
# 修改页面不需要重启服务器
spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/pages/
spring.thymeleaf.suffix=.html
3.Spring MVC进行编码实现
3.1 创建工程
3.2 编写GoodsMapper.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="com.cy.pj.goods.dao.GoodsDao">
<!-- 查询所有用户信息 -->
<select id="findAll" resultType="com.cy.pj.goods.utils.User">
select * from emp
</select>
</mapper>
3.3 编写GoodsDao接口
package com.cy.pj.goods.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.cy.pj.goods.utils.User;
/**
* @Mapper 用于描述(做标记)数据层访问接口,用于告诉mybatis框架
* 使用此注解描述的接口要由底层为创建实现类,在实现类中基于mybatis
* API实现与数据库的交互,这个类的对象最后会交给Spring管理。
*/
@Mapper
public interface GoodsDao {
/**
* 查询所有用户信息
* @return List集合
*/
public List<User> findAll();
}
3.4 编写GoodsService接口
package com.cy.pj.goods.service;
import java.util.List;
import com.cy.pj.goods.utils.User;
/**
* 用户模块的业务层接口,用于制定标准
* @author BigData
*
*/
public interface GoodsService {
/**
* 查询所有用户信息
* @return 全部信息
*/
public List<User> findAll();
}
3.5 编写GoodsServiceImpl类
该类实现了GoodsService接口,用于用于用户模块的业务的具体实现
package com.cy.pj.goods.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cy.pj.goods.dao.GoodsDao;
import com.cy.pj.goods.service.GoodsService;
import com.cy.pj.goods.utils.User;
/**
* 业务层对象,后续会在此对象中执行
* @author BigData
*/
@Service
public class GoodsServiceImpl implements GoodsService{
@Autowired
private GoodsDao goodsDao;
@Override
public List<User> findAll() {
return goodsDao.findAll();
}
}
3.6 编写CoodsController类
package com.cy.pj.goods.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.cy.pj.goods.service.GoodsService;
import com.cy.pj.goods.utils.User;
/*
*@Controller:如果当前类所在的包配置了Spring容器包扫描,具有
*该注解的类,就会作为bean注册到spring容器中,由spring容器创建实例。
*/
@Controller
@RequestMapping("/show/")
public class GoodsController {
@Autowired
private GoodsService goodsService;
/*
* @RequestMapping:为当前方法配置访问路径
* 如果Controllor类上没有配置访问路径,当前项目中所有controller中方法上的访问路径都不能冲突
*/
@RequestMapping("findAll")
public String findAll(Model model) {
List<User> lists = goodsService.findAll();
model.addAttribute("list", lists);
return "show";
}
}
3.7 创建html页面
在templates/pages目录下创建show.html,用于展示数据
3.7 编辑html页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>The Show Page</h1>
<table>
<thead>
<tr>
<th>id</th>
<th>name</th>
<th>age</th>
<th>salary</th>
</tr>
</thead>
<tbody>
<tr th:each="l:${list}">
<td th:text="${l.id}">1</td>
<td th:text="${l.name}">Tom</td>
<td th:text="${l.age}">18</td>
<td th:text="${l.salary}">5000.0</td>
</tr>
</tbody>
</table>
</body>
</html>
输出和展示
到这里,框架的整合就完了,感谢各位的参考,有不足的地方,请留下您宝贵的意见!!!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。