共计 3425 个字符,预计需要花费 9 分钟才能阅读完成。
前言:
该文章是基于 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>
输入和展现
到这里,框架的整合就完了,感激各位的参考,有有余的中央,请留下您贵重的意见!!!
正文完
发表至: springboot
2020-10-14