2021-03-27
Contenido:
Una integración SpringBoot SpringMVC
dos casos simples SpringBoot basados en SpringMVC y Mybatis
Un SpringBoot integra SpringMVC
El primer paso: agregar dependencia MVC
添加Spring Web依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Agregue la dependencia Thymeleaf (proporciona un objeto de resolución de vista y un mecanismo de enlace de datos)
Dependencia web (proporciona la API principal de Spring MVC y también incorporará un servidor Tomcate)
Entre ellos: Spring Web Starter proporciona compatibilidad con la dependencia de Soring MVC y la API principal de Spring MVC. Se agregará automáticamente una dependencia de Tomcate para su uso como servidor web integrado.
Thymeleaf es un motor de plantillas html que proporciona una API integrada con SpringMVC y se puede utilizar como la capa de visualización de aplicaciones web en el marco MVC.
Nota: SpringBoot ya no admite jsp. Si desea utilizar jsp, debe configurarlo en xml.
Paso 2: configurar los objetos principales de Spring MVC
1: Ahora cree el directorio templates / pages bajo el directorio src / main / resources
2: Agregue la configuración del analizador de vista al archivo application.properties (también se configurará si no hay ningún valor predeterminado. En la configuración predeterminada, el prefijo predeterminado es classpath: / templates / y el sufijo predeterminado es .html)
spring.thymeleaf.prefix=classpath:/templates/pages/
spring.thymeleaf.suffix=.html
Paso 3: crear la clase de controlador
Escriba la clase XxxController (GoodsController) y entréguela a Spring para que la administre. Dicho controlador generalmente se llama Handler (Processor-Model) en la especificación SpringMVC, y a veces entendemos este objeto como un controlador de back-end en la empresa (en términos de rigor, no está lo suficientemente estandarizado)
package com.cy.pj.goods.controller;
@Controller
@RequestMapping("/goods/")
public class GoodsController {
@RequestMapping("doGoodsUI")
public String doGoodsUI() {
return "goods";
}
}
Paso 4: Necesita crear goods.html en el directorio / tmplates / pages /
Paso 5: Inicie el servidor (el proyecto predeterminado está incrustado en el servidor predeterminado proporcionado por Spring web Starter), abra el navegador para probar el acceso
SpringBoot integra Mybatis + MVC y usa el motor de plantillas Thymeleaf para consultar información relacionada de la base de datos y mostrarla en la página. Caso de proyecto simple
Tome el software STS como ejemplo
Paso 1: Importar Importar el archivo sql a la base de datos
Abra la ventana de comando dos para importar y abra MySQL para importar el archivo sql. El
código es el siguiente
1: inicie sesión en mysql
mysql –uroot –proot
2: Establecer el modo de codificación de la consola del cliente (cliente MySql)
set names utf8;
3: Ejecute el archivo goods.sql
source d:/goods.sql
El archivo sql es el siguiente
drop database if exists dbgoods;
create database dbgoods default character set utf8;
use dbgoods;
create table tb_goods(
id bigint primary key auto_increment,
name varchar(100) not null,
remark text,
createdTime datetime not null
)engine=InnoDB;
insert into tb_goods values (null,'java','very good',now());
insert into tb_goods values (null,'mysql','RDBMS',now());
insert into tb_goods values (null,'Oracle','RDBMS',now());
insert into tb_goods values (null,'java','very good',now());
insert into tb_goods values (null,'mysql','RDBMS',now());
insert into tb_goods values (null,'Oracle','RDBMS',now());
insert into tb_goods values (null,'java','very good',now());
insert into tb_goods values (null,'mysql','RDBMS',now());
insert into tb_goods values (null,'Oracle','RDBMS',now());
insert into tb_goods values (null,'java','very good',now());
insert into tb_goods values (null,'mysql','RDBMS',now());
insert into tb_goods values (null,'Oracle','RDBMS',now());
Paso 2: crea el proyecto
Paso 3: agregar dependencias relacionadas
Importar dependencias relacionadas con Mybatis
1 paquete de controlador mysql
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
2 dependencia de jdbc de primavera
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
3 dependencia de mybatis starter
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
注意:mybatis starter 依赖的版本可能不会自动给,需要手动添加!!!
Importar dependencias relacionadas con MVC
1 dependencias web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2 Dependencia de Thymeleaf
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Paso 4: agregue una configuración simple al archivo de configuración application.propertis
Configuración del grupo de conexiones
// serverTimezone=GMT%2B8 为设置时区为东八区
// characterEncoding=utf8设置编码格式为utf-8
spring.datasource.url=jdbc:mysql:///dbgoods?serverTimezone=GMT%2B8&characterEncoding=utf8
// 自己数据库的用户名
spring.datasource.username=root
// 自己数据库的密码
spring.datasource.password=root
Agregue la configuración del solucionador de vista en el archivo application.properties (si no hay configuración, se configurará de forma predeterminada. En la configuración predeterminada, el valor predeterminado del prefijo es classpath: / templates / y el sufijo predeterminado es .html)
spring.thymeleaf.prefix=classpath:/templates/pages/
spring.thymeleaf.suffix=.html
el quinto paso
Crea la clase Pojo El
código es el siguiente
package com.cy.goods.Pojo;
import java.sql.Date;
public class Goods {
private Integer id;
private String name;
private String remark;
private Date createdTime;
public Goods() {
super();
}
public Goods(Integer id, String name, String remark, Date createdTime) {
super();
this.id = id;
this.name = name;
this.remark = remark;
this.createdTime = createdTime;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Date getCreatedTime() {
return createdTime;
}
public void setCreatedTime(Date createdTime) {
this.createdTime = createdTime;
}
}
Sexto paso
Crear Dao
el código se muestra a continuación
package com.cy.goods.Dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import com.cy.goods.Pojo.Goods;
@Mapper
public interface GoodsDao {
@Select("select * from tb_goods")
List<Goods> findAll();
}
Séptimo paso
Crear servicio
el código se muestra a continuación
package com.cy.goods.Servlet;
import java.util.List;
import com.cy.goods.Pojo.Goods;
public interface GoodsService {
List<Goods> findGoods();
}
Octavo paso
Crear ServiceImpl
el código se muestra a continuación
package com.cy.goods.ServiceImpl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cy.goods.Dao.GoodsDao;
import com.cy.goods.Pojo.Goods;
import com.cy.goods.Servlet.GoodsService;
@Service
public class GoodsServiceImpl implements GoodsService{
@Autowired
private GoodsDao goosDao;
@Override
public List<Goods> findGoods() {
// TODO Auto-generated method stub
List<Goods> list = goosDao.findAll();
return list;
}
}
Paso 9
Crear controlador
el código se muestra a continuación
package com.cy.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.goods.Pojo.Goods;
import com.cy.goods.Servlet.GoodsService;
@Controller
@RequestMapping("/goods/")
public class GoodsController {
@Autowired
private GoodsService goodsService;
@RequestMapping("doGoodsUI")
public String doGoodsUI(Model model) {
List<Goods> list= goodsService.findGoods();
model.addAttribute("goods", list);
return "goods";
}
}
Décimo paso
Crear html
el código se muestra a continuación
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<thead>
<tr>
<th >id</th>
<th >name</th>
</tr>
</thead>
<tbody>
<tr th:each="g: ${goods}">
<td th:text="${g.id}">Oranges</td>
<td th:text="${g.name}">Oranges</td>
</tr>
</tbody>
</table>
</body>
</html>
Undécimo paso
Ingrese la prueba de URL en el navegador
El registro diario del contenido de aprendizaje relevante no es muy bueno, por favor avise