springboot(二)
SpringBoot使用JSP
1.创建一个webapp子项目
2.导入依赖
<!--
配置springboot的父节点依赖,之后引入就不需要添加version配置了!
springboot会自动选择最合适的版本进行添加依赖
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--指定JDK版本 我们使用的是1.8,不配置默认环境是1.6 -->
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<!-- spring-boot-starter-web是为我们提供了包括mvc,aop等需要的一些jar -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 因为我们已经配置了 parent 中的version 所以这里不需要指定version了 -->
</dependency> <!-- Spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!-- 配置servlet需要的依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!-- 配置jstl标签库需要的依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency> <!-- 添加tomcat的支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
</dependencies>
3.创建一个application.yml文件
spring:
mvc:
view:
suffix: .jsp
prefix: /jsp/
4.编辑Controller
@Controller
@RequestMapping("/jsp")
public class JSPController {
@RequestMapping("/first")
public String jsp(Model model){
model.addAttribute("name","张三");
return "index";
}
}
5.创建一个jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>hehe</title>
</head>
<body>
<h2>呵呵,欢迎:${name}1234</h2>
</body>
</html>
6.启动运行
SpringBoot使用thymeleaf
1.pom文件中增加thymeleaf的依赖和版本号
<!-- 添加thymeleaf模版的依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<thymeleaf.version>3.0.0.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.0.0</thymeleaf-layout-dialect.version>
2.application.yml文件中新增thymeleaf配置
3.在resources中创建templates文件夹
并且创建一个index.html
4.创建一个entity Student实体类
public class Student {
private Integer id;
private String name;
}
5.编写Controller控制器
@Controller
public class thyController {
@RequestMapping("/thy")
public String thy(Model model){
List<Student> list = new ArrayList<>();
Student stu1 = new Student(1,"张三");
Student stu2 = new Student(2,"李四");
Student stu3 = new Student(3,"王大爷是弟弟,垃圾"); list.add(stu1);
list.add(stu2);
list.add(stu3); model.addAttribute("stulist",list);
return "index";
}
}
6.书写index.html中的代码
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>temples</title>
</head>
<body>
<table border="1">
<tr>
<td>学生编号</td>
<td>学生姓名</td>
</tr>
<tr th:each="stu:${stulist}">
<td th:text="${stu.id}"></td>
<td th:text="${stu.name}"></td>
</tr>
</table>
</body>
</html>
7.运行效果
SpringBoot 与JPA
1. 实现数据的增删改查
1.1:在pom文件中引入需要的依赖
<!-- 引入mysql需要的依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- 引入spring data jpa需要的依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
2.创建resources文件夹创建application.yml文件进行编写
##数据库四大连接参数
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///springdatajpa
username: root
password: 123456
##jpa表的生成策略
jpa:
hibernate:
ddl-auto: update
3.编写entity
@Entity
public class Grade {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Integer grade_id;
private String grade_name; public Integer getGrade_id() {
return grade_id;
} public void setGrade_id(Integer grade_id) {
this.grade_id = grade_id;
} public String getGrade_name() {
return grade_name;
} public void setGrade_name(String grade_name) {
this.grade_name = grade_name;
}
}
4.编写dao层
/**
* CrudRepository<实体,主键数据类型>
*/
@Repository
public interface IGradeMapper extends CrudRepository<Grade,Integer> {
}
5.编写增删改查的方法service
public interface IGradeService {
public Grade insertGrade(Grade grade); public Grade updateGrade(Grade grade); public void deleteGrade(Integer id); public Iterable<Grade> getAll();
}
6.编写实现类
@Service("iGradeService")
public class IGradeServcieImpl implements IGradeService {
@Resource
private IGradeMapper iGradeMapper; @Override
public Grade insertGrade(Grade grade) {
return iGradeMapper.save(grade);
} @Override
public Grade updateGrade(Grade grade) {
return iGradeMapper.save(grade);
} @Override
public void deleteGrade(Integer id) {
iGradeMapper.delete(id);
}
@Override
public Iterable<Grade> getAll() {
return iGradeMapper.findAll();
}
}
7.创建Controller层进行编写
@RestController
@RequestMapping("/IGradeController")
public class IGradeController {
@Resource
private IGradeService iGradeService; //新增数据
@RequestMapping("/insertGrade")
public Grade insertGrade(){
Grade grade=new Grade();
grade.setGrade_name("Y2");
return iGradeService.insertGrade(grade);
}
//修改数据
@RequestMapping("/updateGrade")
public Grade updateGrade(){
Grade grade=new Grade();
grade.setGrade_id(2);
grade.setGrade_name("S3");
return iGradeService.updateGrade(grade);
}
//删除数据
@RequestMapping("/deleteGrade")
public void deleteGrade(){
iGradeService.deleteGrade(1);
}
//查看数据
@RequestMapping("/getAllGrade")
public Iterable<Grade> getAllGrade(){
return iGradeService.getAll();
}
}
8.运行查看效果
这里已经添加成功了我们可以看一下数据库
现在我们来看一下修改
可以看到现在编号为3的数据值为S2
访问http://localhost:8080/IGradeController/updateGrade
接下来进行删除
访问http://localhost:8080/IGradeController/deleteGrade
接下来进行查看
springboot(二)的更多相关文章
- spring-boot(二)
学习文章来自:http://www.ityouknow.com/spring-boot.html web开发 spring boot web开发非常的简单,其中包括常用的json输出.filters. ...
- 初涉springboot(二)
概述 1.环境说明 2.HelloWorld项目细节 3.小结 一. 关于环境补充 在上一篇的HellWorld项目中,我们构建SpringBoot项目,采用的是jdk1.8版本,springbo ...
- springboot(二十二)-sharding-jdbc-读写分离
前面我们使用sharding-jdbc配置了分库分表.sharding-jdbc还有个用法,就是实现读写分离. 什么时候需要或者可以使用读写分离? 当我们的项目所使用的数据库查询的访问量,访问频率,及 ...
- springboot(二).springboot整合logback用于日志输出
springboot整合logback用于日志输出 我们项目的基本框架已经完成,http请求已经可以访问,现在给我们的框架添加日志记录的功能并能将每天的记录记录到文件中去 在这里,我们使用logbac ...
- SpringBoot(二) -- SpringBoot配置
一.配置文件 SpringBoot可以使用两种类型的配置文件(文件名固定): application.properties application.yml 配置文件的作用就是来修改SpringBoot ...
- springboot(二):web综合开发
上篇文章介绍了spring boot初级教程:spring boot(一):入门篇,方便大家快速入门.了解实践Spring boot特性:本篇文章接着上篇内容继续为大家介绍spring boot的其它 ...
- Springboot(二):Spring Boot 之 HelloWorld
关于项目的创建不再解释,需要了解的请参考: Springboot(一):使用Intellij中的Spring Initializr来快速构建Spring Boot工程 目录结构: 首先我们在上一项目的 ...
- SpringBoot(二):设置springboot同一接口程序启动入口
根据上一篇文章中搭建了一个springboot简单工程,在该工程中编写HelloWordController.java接口类,并在该类中写了一个main函数,做为该类的接口服务启动入口.此时如果新增多 ...
- Spring-boot(二)yml文件的使用
上一章创建了一个简单的springboot项目,配置可以说非常的简单. 不过,在实际开发中不可能都用默认的配置,还是需要根据自己的实际项目需求有自定义的配置的. 比如:端口号需要变更,模板引擎的缓存开 ...
- 转:springboot(二):web综合开发
web开发 spring boot web开发非常的简单,其中包括常用的json输出.filters.property.log等 json 接口开发 在以前的spring 开发的时候需要我们提供jso ...
随机推荐
- Python 入门(1):hello world 到流程控制
1.hello world 在D:\python\目录下新建文件hello.txt,编写代码如下 print("hello world!") 修改后缀名为.py,执行hello.p ...
- Django-06-模板(Template)
一.模板组成 HTML代码+逻辑控制代码 二.逻辑控制代码 1. 变量 语法格式: {{var_name}} Template和Context对象 D:\python\Project\django_t ...
- LeetCode 5073. 进击的骑士(Java)BFS
题目:5073. 进击的骑士 一个坐标可以从 -infinity 延伸到 +infinity 的 无限大的 棋盘上,你的 骑士 驻扎在坐标为 [0, 0] 的方格里. 骑士的走法和中国象棋中的马相似, ...
- LeetCode第154场周赛(Java)
估计要刷很久才能突破三道题了.还是刷的太少.尽管对了前两题,但是我觉得写的不怎么样.还是将所有题目都写一下吧. 5189. "气球" 的最大数量 题目比较简单.就是找出一个字符串中 ...
- Linux基础(09)aio高级编程
1.出于安全性 Linux有一个机制 应用层和内核层是无法互相直接读取内存的, 他们要互相读取数据是有一个拷贝过程的, 如: 应用层要读取内核层的数据就调用read(), 内核就会先把数据copy到一 ...
- [开源]Gin + GORM + Casbin+vue-element-admin 实现权限管理系统(golang)
简析 基于 Gin + GORM + Casbin + vue-element-admin 实现的权限管理系统. 基于Casbin 实现RBAC权限管理. 前端实现: vue-element-admi ...
- 国际化地区语言码对照表(i18n)
af 公用荷兰语 af-ZA 公用荷兰语 - 南非 sq 阿尔巴尼亚 sq-AL 阿尔巴尼亚 -阿尔巴尼亚 ar 阿拉伯语 ar-DZ 阿拉伯语 -阿尔及利亚 ar-BH 阿拉伯语 -巴林 ar-EG ...
- Mysql的常见索引
PRIMARY KEY(主键索引) ALTER TABLE table_name ADD PRIMARY KEY ( col ) 它是一种特殊的唯一索引,不允许有空值: UNIQUE(唯一索引) AL ...
- 原!!Spring redis的Scan的坑,慎用!
线上发现有机器,在发生某块业务大量请求时,后面就没有日志了,查看线程状态,如图1,发现很多线程被阻塞了,查看代码发现,用到了scan,如图2,百度之后,发现该操作不会自动释放redis连接,导致red ...
- Tornado + Bootstrap 快速搭建自己的web应用
前言 最近用 python tordado 框架, 整了一个模板页面, 用于接入与发布数据的展示, tornado 简单易用, bootstrap 比较流行, 用起来也省事, 配合起来做些小案例非常迅 ...