SpringBoot
文章平均质量分 87
记录一些SpringBoot的总结以及个人感悟
一口好锅
草率计划,立即行动!
展开
-
小白入门SpringBoot项目【2】:员工管理系统(管理员注册、登录、员工增删改查)
员工管理系统一、项目简介二、部分代码解析2.1 实体类2.2 注册过程中的验证码逻辑2.3 验证码工具类说明:本项目非常适合小白入门,如果读者的水平比较高的话,可能这个项目对你并不会有什么额外的收获。欢迎读者在评论区互相交流讨论。对小白的收获可能包括:入门SpringBoot、Mybatis、Thymeleaf的使用。GitHub项目地址Gitee项目地址一、项目简介基于SpringBoot,利用Mybatis框架,前端使用Thymeleaf整合。实现了管理员的注册、登录,已原创 2020-11-17 19:27:38 · 3218 阅读 · 3 评论 -
小白入门SpringBoot项目【1】:在线文件管理系统(用户登录、文件上传、文件在线预览、文件下载)
在线文件管理系统一、简介二、技术点application.properties解释三、核心功能代码解析3.0 首先看一下实体类3.1 文件上传3.2 文件下载(预览)3.3 文件删除说明:本项目非常适合小白入门,如果读者的水平比较高的话,可能这个项目对你并不会有什么额外的收获。欢迎读者在评论区互相交流讨论。对小白的收获可能包括:入门SpringBoot、Mybatis、Thymeleaf的使用。GitHub项目地址点击下载源码一、简介本项目是基于Spring Boot,利用Mybatis框原创 2020-11-16 21:39:17 · 3535 阅读 · 7 评论 -
【error处理】org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
一、问题分析org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.atguigu.eduservice.mapper.EduCourseMapper.getPublishCourseInfo at com.baomidou.mybatisplus.core.override.PageMapperMethod$SqlCommand.<init>(PageMapperMethod原创 2020-10-18 17:14:23 · 525 阅读 · 2 评论 -
一文读懂什么是阿里云OSS,如何使用Java操作阿里云OSS?
一、什么是阿里云OSSOSS: Object Storage Service对象存储服务是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。二、准备工作阿里云网站: https://www.aliyun.com1. 注册阿里云账号,建议用支付宝注册。2. 立即开通根据自身实际情况选择按量付费或者包年包月根据自身需求选择存储类型存储类型说明:存储类型(Storage Class),OSS提供标准、低频原创 2020-10-18 14:51:52 · 2749 阅读 · 0 评论 -
【error处理】APPLICATION FAILED TO START Failed to configure a Datasource: ‘url‘ attribute is not
报错如下分析spring boot 会默认加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration这个类,而DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataSource bean,又因为项目(oss模块)中并没有关于dataSource相关的配置信息,所以当spring创建dataSource bean时因缺少相关的信息就会报错。解决原创 2020-10-18 12:45:02 · 241 阅读 · 0 评论 -
SpringBoot基于统一返回结果类的统一异常处理
一、前话看本文之前请先看《前后端分离开发:Spring Boot返回统一的数据格式》了解如何统一返回结果类。本文是基于统一返回结果类实现的统一异常处理。二、什么是统一异常处理在上述的另外一篇文章中,介绍了前后端分离中如何把后端的返回数据封装为统一的结果类。我们想让异常结果也显示为统一的返回结果对象,并且统一处理系统的异常信息,那么需要统一异常处理。这样从后端返回结果就真正意义上统一了。1 为统一异常处理前的后端返回的默认异常信息三、统一异常处理1 分析一般在微服务架构的应用中,有许多的原创 2020-10-17 22:33:15 · 821 阅读 · 1 评论 -
前后端分离开发:Spring Boot返回统一的数据格式
项目中我们会将响应封装成json返回,一般我们会将所有接口的数据格式统一, 使前端(iOS Android, Web)对数据的操作更一致、轻松。一般情况下,统一返回数据格式没有固定的格式,只要能描述清楚返回的数据状态以及要返回的具体数据就可以。但是一般会包含状态码、返回消息、数据这几部分内容...原创 2020-10-17 20:15:45 · 2716 阅读 · 2 评论 -
【常用系列 2】SpringBoot工程常用依赖引入整理(pom.xml)
【常用系列 1】SpringBoot工程常用配置整理(application.properties)多模块的POM文件使用properties标签做版本统一配置SpringBoot【常用系列】是为了整理日常开发中,常用的代码、配置、依赖等等。这些重复性的东西在还没能熟能生巧之前,花少量时间来整理,温故而知新,为了日后提高效率,目的在于不重复浪费时间,取之简单修改后即可使用。POM依赖引入参考写在整理之前pom.xml常用依赖mybatis-pluslombok用来简化实体类:需要安装lombok原创 2020-10-17 19:26:31 · 204 阅读 · 0 评论 -
【常用系列 1】SpringBoot工程常用配置整理(application.properties)
写在整理之前我的记性很差,在开发的时候,写配置文件经常会忘记,其实有了IDEA强大的提示功能也还好,基本写一下后边就照着提示选择出来。但是熟能生巧嘛,想着把这些整理出来,加深一下印象。好吧…其实时因为懒,以后有要用的时候复制粘贴再改一改,岂不美滋滋,又能提高效率本文持续更新…也欢迎有缘人评论补充。综上,遂有此文!整理如下# 服务端口server.port=8001# 服务名spring.application.name=service-edu# 环境设置:dev、test、pr原创 2020-10-17 18:39:31 · 151 阅读 · 0 评论 -
使用Mybatis-Plus实现往数据库种插入数据时指定字段的数据自动填充
问题场景在数据库的插入或者更新操作时,有时候需要自动填充。考虑一个场景,数据库种有两个字段分别是“create_time”和“update_time”我们需要在插入数据的时候自动记录插入数据的时间,也需要在对数据有任何更新操作时,自动记录更新数据的时间。上面举出了最常用的自动填充的场景。下面的解决方案也是针对这个场景,其他的场景可以用同样的思路解决。解决方案思路分析:思考如何自动填充的问题需要具体解决如下几个问题:那些字段需要自动填充?这些字段在什么时候自动填充?(第一次插入数据的时候原创 2020-10-17 17:11:42 · 6465 阅读 · 0 评论 -
Mybatis-Plus的6种主键生成策略简介
六种策略/** * 数据库ID自增,数据库需要支持主键自增(如MySQL),并设置主键自增 */AUTO(0),/** * 该类型为未设置主键类型,默认使用雪花算法生成(snowflake) */NONE(1),/** * 用户输入ID,数据类型和数据库保持一致就行 * <p>该类型可以通过自己注册自动填充插件进行填充</p> */INPUT(2),/* 以下3种类型、只有当插入对象ID 为空,才自动填充。 *//** * 全局唯一ID (原创 2020-10-17 16:41:30 · 801 阅读 · 0 评论 -
微服务架构在父工程中引入依赖做统一的版本管理
问题背景在做SpringBoot工程时,特别时微服务架构的应用,常常许多模块种需要引入相同的依赖,为了在不同的模块中达到统一的依赖版本的管理,可以在父工程模块的pom.xml中使用properties标签做整个工程的版本配置。统一配置好属性后,在其他模块的pom.xml文件中通过**占位符${X}**的形式直接取用,来配置依赖的版本属性。实操具体的做法如下:父模块pom.xml中的版本属性配置<properties> <java.version>1.8&l原创 2020-10-17 16:16:35 · 1889 阅读 · 1 评论 -
【error处理】org.springframework.http.converter.HttpMessageConversionException: Type definition error
控制台的error日志:org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class com...entity..[某一具体实体类]]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found f...原创 2020-09-27 13:32:24 · 13154 阅读 · 3 评论 -
Spring Boot使用@ControllerAdvice统一异常处理
@ExceptionHandler(ArithmeticException.class)@ResponseBodypublic R error(ArithmeticException e){e.printStackTrace();return R.error().message(“执行了自定义异常”);}原创 2020-09-25 21:32:59 · 326 阅读 · 0 评论 -
后端开发返回统一的JSON数据格式,方便前后端分离和整合
返回统一的JSON数据格式一、统一返回的JSON数据格式1. 列表数据2.分页数据3.没有返回数据4.失败统一定义格式二、创建统一结果返回类1. 创建接口定义返回码2. 创建结果类3. Controller中的返回统一数据格式的JSON举例项目中我们会将响应封装成json返回,一般我们会将所有接口的数据格式统一, 使前端(iOS Android,Web)对数据的操作更一致、轻松。一、统一返回的JSON数据格式一般情况下,统一返回数据格式没有固定的格式,只要能描述清楚返回的数据状态以及要返回的具原创 2020-09-25 02:01:19 · 9539 阅读 · 1 评论 -
Spring Boot配置Swagger2生成API接口文档
Swagger2生成API接口文档一、Swagger2介绍二、配置Swagger22.1 引入pom依赖2.2 创建swagger的配置类2.3 API模型:常用注解实体类@ApiModelPropertyController的注解@Api 、@ApiOperation、@ApiParam一、Swagger2介绍前后端分离开发模式中,api文档是最好的沟通方式Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。及时性 (接口变更后,能够原创 2020-09-25 01:38:44 · 243 阅读 · 0 评论 -
jackson返回统一的JSON时间格式
关于JSONJSON是目前主流的前后端数据传输方式,Spring MVC中使用消息转换器HttpMessageConverter对JSON的转换提供了很好的支持,在Spring Boot中更进一步,对相关配置进行了简化,<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web<artifactId><dep原创 2020-09-23 22:15:56 · 826 阅读 · 0 评论 -
MybatisPlus代码生成器
public class getCode { @Test public void main1() { // 1、创建代码生成器 AutoGenerator mpg = new AutoGenerator(); // 2、全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir");原创 2020-09-23 22:03:34 · 132 阅读 · 0 评论 -
MybatisPlus的条件构造器Wrapper常用的构造函数总结
WrapperWrapper介绍1. ge、gt、le、lt、isNull、isNotNull2. eq、ne3. between、notBetween4. allEq5. like、notLike、likeLeft、likeRight6. in、notIn、inSql、notInSql、exists、notExists7. or、and8. 嵌套or、嵌套and9. orderBy、orderByDesc、orderByAsc10. last11. 指定要查询的列12. set、setSqlWrappe原创 2020-09-23 21:47:51 · 5487 阅读 · 0 评论 -
Spring Boot整合Mytabis-plus:MP的简单使用指南
Mytabis-plus一、MybatisPlus简介二、前期准备工作2.1 创建并初始化数据库创建数据库创建User表插入一些初始数据2.2 初始化工程、添加依赖、数据库配置使用 Spring Initializr 快速初始化一个 Spring Boot 工程添加依赖数据库配置三、编写代码3.1 主启动类3.2 实体类3.3 mapper3.4 测试类四、MyBatisPlus的CRUD 接口4.1 添加操作4.2 删除操作:物理删除4.2 修改操作4.3 查询操作五、MybatisPlus的自动填充实例原创 2020-09-20 22:32:41 · 2306 阅读 · 4 评论 -
Spring Boot与缓存:使用JCache(JSR-107)注解简化开发
使用JCache(JSR-107)注解简化开发Spring Boot与缓存:使用JCache(JSR-107)注解简化开发JSR107Spring缓存抽象几个重要概念和缓存注解的使用缓存的使用实体类、controller以及mapper的代码实体类控制器controllerMapper代码分析主程序@EnableCachingSpring Boot与缓存:使用JCache(JSR-107)注解简化开发JSR107Java Caching定义了5个核心接口,分别是CachingProvider, Ca原创 2020-09-20 21:07:13 · 3193 阅读 · 1 评论 -
一个注意事项:SpringBoot配置文件中添加 MySQL 数据库的相关配置
在 application.properties 配置文件中添加 MySQL 数据库的相关配置:mysql5#mysql数据库连接spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plusspring.datasource.username=rootspring.datasource.password=123456原创 2020-09-19 18:39:04 · 1515 阅读 · 0 评论 -
SpringBoot中的默认JSON转换器及其Gson自定义
默认转换器JSON是目前主流的前后端数据传输方式。创建一个Spring Boot项目后,添加web依赖后,依赖中默认加入了jackson-databind作为JSON处理器,此时不需要添加额外的JSON处理器就能返回一段JSON。下面是一个示例。Book实体类@Datapublic class Book { private String name; private String author; @JsonIgnore private Float price;原创 2020-08-28 17:11:34 · 1496 阅读 · 0 评论 -
SpringBoot使用配置文件xml方式整合Mybatis
实体类package cn.sboot.model;import lombok.Data;import java.util.Date;@Datapublic class Person { private int pid; private String pname; private String personAddr; private int gender; private Date birth;}mapper接口接口的方法名与xml中的id名称要原创 2020-08-28 16:00:43 · 795 阅读 · 0 评论 -
解决Mybatis对实体类驼峰命名属性(personAddr)和数据库字段匹配不上的问题(person_addr)
写一个Mybatis的配置类开启MapUnderscoreToCamelCase为true一般数据库中的字段命名习惯用下划线分隔两个单词,这与实体类的属性命名的驼峰模式存在差异。如果遇到这个问题可以用下边这个配置类来解决二者对应不上的问题。package cn.sboot.config;import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;import org.springframework.context.an原创 2020-08-28 15:28:44 · 2398 阅读 · 0 评论 -
Druid数据源支持的数据库、自动识别URL、以及Druid的属性绑定
Druid数据源Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。Druid是一个开源项目,源码托管在github上,源代码仓库地址。同时每次Druid发布正式版本和快照的时候,都会把源码打包,可以从上面的下载地址中找到相关版本的源码。DruidDataSource支持的数据库数据库支持状态mysql支持,大规模使用oracle支持,大规模使用sqlserver支持postgres支持db2支持h2支原创 2020-08-28 15:14:05 · 4852 阅读 · 0 评论 -
SpringBoot使用注解方式整合Mybatis,Mybatis常用注解总结
本文目录引入依赖Mybatis、mysql驱动、druid数据源Person实体类Mapper接口Mybatis常用注解1、SQL语句映射类1.1 @Insert 实现新增(插入)功能1.2 @Select 实现查询功能1.3 @Update注解:实现更新功能1.4 @Delete注解:实现删除功能(补充)1.5 @SelectKey注解:插入后,获取id的值2、结果集映射类2.1 @Results @Result2.2 @ResultMap3、关系映射类3.1 @One 用于一对一关系映射3.2 @Ma原创 2020-08-28 11:26:32 · 1574 阅读 · 0 评论 -
SpringBoot实体类加上@Data无法调用getter/setter方法的解决方法
面临的问题SpringBoot实体类加上@Data注解后,可以让代码更加简洁,无需写getter、setter方法,但是却无法调用getter\setter方法解决办法Idea安装Lombok插件步骤如下:settings ---->plugins ----->搜索Lombok插件安装Lombok插件重启idea后插件生效可以调用实体类的getter和setter方法方法来源...原创 2020-08-16 19:24:05 · 2621 阅读 · 1 评论 -
简单的Thymeleaf笔记
Spring Boot官方推荐使用的模板引擎是Thymaleaf添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.springframeWork.原创 2020-08-16 19:10:46 · 142 阅读 · 0 评论 -
SpringBoot配置文件方式(xml)整合Mybatis入门一看就懂
引入pom依赖:Mybatis依赖、数据库驱动依赖、数据库连接池依赖<dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version>原创 2020-08-16 17:27:03 · 141 阅读 · 0 评论 -
SpringBoot的Web容器配置
SpringBoot项目,可以内置Tomcat、Jetty、Undertow、Netty等容器添加spring-boot-starter-web依赖后,默认使用的是Tomcat作为内置容器。可以在SpringBoot中嵌入Jetty作为容器,配置方式如下,排除掉spring-boot-starter-web中默认的tomcat内嵌容器,在引入jetty的依赖即可。<dependency> <groupId>org.springframework.boot<.原创 2020-08-13 10:36:31 · 694 阅读 · 0 评论 -
SpringBoot的Banner定制一看就懂
SpringBoot项目在启动的时候会默认打印一个banner,如下图所示这个banner是可以定制的,方法如下:在resources的目录下,添加banner.txt文件,在文件中写入你想在项目启动时显示的内容即可。可以用这个网站生成自己喜欢的艺术字,保存在banner.txt中txt的艺术字生成网址:http://network-science.de/ascii/这边提供几个艺术字,方便读者需要来测试。 __ __ ____ _原创 2020-08-13 10:09:47 · 278 阅读 · 0 评论 -
SpringBoot热部署配置步骤概述
SpringBoot中提供了一组开发工具工具,spring-boot-devtools,可以提高开发者的工作效率,其中最方便的就是提供了热部署。热部署配置方法pom文件中加入devtools依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools原创 2020-08-11 16:35:04 · 162 阅读 · 0 评论 -
SpringBoot的HelloWorld笔记
添加pom依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.0.RELEASE</version></parent><dependencies> <dependency原创 2020-08-11 16:00:18 · 90 阅读 · 0 评论