SpringBoot
文章平均质量分 56
phubing
纵使秋风起,人生不言弃。
展开
-
最详细通用mapper代码生成器配置
通用 Mapper 专用代码生成器生成的 Model 会在原有基础上增加 @Table,@Id,@Column 等注解,方便自动会数据库字段进行映射。运行MBG有多种方法,这里只介绍两种比较常见的方法。并且有关的内容会针对这样的运行方式进行配置。...原创 2022-07-13 10:49:21 · 1304 阅读 · 0 评论 -
SpringBoot启动时后台多线程执行并支持注解
因为业务需要,部分功能要求在程序启动后就去执行,SpringBoot提供了多种方式去实现此操作。转载 2022-06-04 16:39:00 · 756 阅读 · 1 评论 -
SpringBoot实现MySQL数据库备份与还原
前言:这篇文章已经构思很久了,之前说过的,可以看下这篇文章MySQL数据库备份与恢复-使用MySQLDump记录 | 框架师,是一个可视化备份MySQL的需求,我们平台是BS的架构,有一个WEB页面,客户需求是在页面上对所有的平台数据执行备份和恢复操作,那么就需要使用代码去调用MySQL备份和恢复的指令,下面是具体实现步骤;MySQL备份表设计具体SQL:CREATE TABLE IF NOT EXISTS `mysql_backups` ( `id` INT ( 11 ) NO.转载 2022-04-23 17:37:07 · 3611 阅读 · 3 评论 -
MyBatis-Plus框架笔记
mybatisplus特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID转载 2022-04-23 17:33:54 · 399 阅读 · 0 评论 -
SpringBoot异步任务记录
简介突发奇想,就想玩一下异步任务,记得之前项目有个场景需要使用异步执行,但是异步调用没有成功,后来采用了多线程去执行,今天就系统的学习下异步执行任务。记录一下有时候在项目中,当访问其他人的接口较慢或者做耗时任务时,不想程序一直卡在耗时任务上,想程序能够并行执行, 我们可以使用多线程来并行的处理任务,也可以使用spring提供的异步处理方式@Async。在异步处理的方法上添加注解@Async,就会启动一个新的线程去执行。 Spring通过任务执行器TaskExecutor...转载 2022-01-25 11:48:32 · 388 阅读 · 0 评论 -
Java程序抵御xss攻击
Java程序抵御xss攻击原理:将前端请求的所有数据,进行转义后再存入数据库1.导入hutool-all包<!-- 数据转义,防止xss攻击--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version&转载 2021-07-06 12:25:53 · 239 阅读 · 0 评论 -
Springboot事件监听
先看一个demo,加入依赖<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.tar转载 2020-05-19 17:01:39 · 6102 阅读 · 1 评论 -
SpringBoot 开发总结思考(二)
1、SpringBoot 自动配置(装配)原理是什么?https://blog.csdn.net/u014745069/article/details/83820511为什么要有?2、SpringBoot是如何把一些库加入到IOC中的?@Component、@Configuration适用于自定义业务,而SpringBoot考虑的是如何把第三方以及自己的库加入到IOC中...原创 2020-04-11 22:35:59 · 271 阅读 · 0 评论 -
SpringBoot 开发总结思考(一)
1、Spring、SpringMVC与SpringBoot的关系与区别Spring全称:SpringFramework,当谈论及Spring的时候,实际上是使用SpringFramework +Mybatis进行编程,而SpringMvc是SpringFramework中专门用于Web的模块Spring有两层意义:Spring家族下所有的产品,是一个泛称 特...原创 2020-04-10 23:12:57 · 361 阅读 · 0 评论 -
Java 开发思考总结(一)
1、Java是一个笨重的垃圾语言吗?一个语言很笨重,不是研发者要故意让这个语言变得很笨重,现在语言这么多,如果没有它自己的优势,是很难存活的。在只了解了一些JS、Python之类的动态语言之后,就盲目的下结论是不正确的。Java笨重是有笨重的原因的,这是因为Java通常是用来做企业级的项目,或者说是复杂的大项目。2、为什么在企业中不会优先选择使用动态语言去做大项目不是说...原创 2020-03-31 13:42:49 · 720 阅读 · 0 评论 -
SpringBoot 中使用 RestTemplate 自定义 异常处理,捕获最原始的错误信息
一些 API 的报错信息通过 Response 的 body返回。使用 HttpClient 能正常获取到 StatusCode 和 body 中的错误提示。然而使用 RestTemplate ,会直接抛出下面的异常。如果想获取原始的信息并进一步处理会比较麻烦。类似下面这种404、403响应码直接抛出异常并不是我们想要的org.springframework.web.clie...转载 2020-01-14 17:02:37 · 7768 阅读 · 1 评论 -
springboot aop 自定义注解方式实现一套完善的日志记录(完整源码)
一:功能简介本文主要记录如何使用aop切面的方式来实现日志记录功能。主要记录的信息有: 操作人,方法名,参数,运行时间,操作类型(增删改查),详细描述,返回值。二:项目结构图三:代码实现###1.配置文件这里只有两个配置:1)server.port=11000,设置项目启动的端口号,防止被其他服务占用;2)spring.aop.auto=true,开启spring...转载 2019-10-12 22:12:17 · 776 阅读 · 0 评论 -
springboot下生成图片验证码并验证
随机图片生成类package com.yg.sixpre.utils;import javax.imageio.ImageIO;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession...转载 2019-06-12 14:56:53 · 10256 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(一)
项目简介框架简介框架为springboot+mybatis项目,支持多数据源;整合通用mapper;整合json Web Token加密;支持aop记录用户操作日志;整合代码生成插件,自动生成增删改查等基础代码;微信支付;发送邮件;图片压缩水印;支持动态定时任务;统一异常处理;请求结果的封装等;框架结构aop文件夹中是自定义注解用于记录用户操作日志configurer文件夹...转载 2019-10-07 19:54:10 · 567 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(二)
一:引入Druid依赖打开上篇文章从头开始搭建自己的springboot后台框架(一)中提到的pom.xml找到<dependencies></dependencies>标签,在标签中添加Druid依赖<dependency> <groupId>com.alibaba</groupId> <artifa...转载 2019-10-07 19:54:18 · 503 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(三)
一:这么做的好处是什么?我们调用服务返回的类型有String,List,Map,Bean,Int,Boolean等类型,可以统一成result对象返回,方便项目组其他成员调用接口二:定义响应码枚举package com.example.demo.core.ret;/** * @Description: 响应码枚举,参考HTTP状态码的语义 * @author phubing...转载 2019-10-07 19:54:23 · 327 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(四)
一:消息转换器能干什么?不知道大家有没有遇到过这种情况:后台接口返回一个实例,当你需要使用某个属性的值时,你还要判断一下值是否为null;接口返回一堆属性值为null的属性等ok,消息转换器可以帮你解决这个问题二:添加fastjson依赖打开pom.xml,找到<dependencies></dependencies>标签,在标签中添加fastjson依赖...转载 2019-10-07 19:54:27 · 239 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(五)
一:为什么需要定义全局异常在互联网时代,我们所开发的应用大多是直面用户的,程序中的任何一点小疏忽都可能导致用户的流失,而程序出现异常往往又是不可避免的,所以我们需要对异常进行捕获,然后给予相应的处理,来减少程序异常对用户体验的影响二:添加业务类异常在前面说过的ret文件夹下创建ServiceExceptionpackage com.example.demo.core.ret;...转载 2019-10-07 19:54:31 · 212 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(六)
一:什么是SwaggerSwagger是一款通过我们添加的注解来对方法进行说明,来自动生成项目的在线api接口文档的web服务。二:添加Swagger2依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artif...转载 2019-10-07 19:54:35 · 267 阅读 · 0 评论 -
SpringBoot+PageHelper+Bootstrap+Thymeleaf 实现分页功能
本文针对那种想要快速实现功能,而不是研究原理的,那你就直接复制我的东西,运行就好。如果想深入学习的同学请另行百度。第一种Spring Boot + Thymeleaf 使用PageHelper实现分页这种实际上就是单独使用分页插件来实现分页功能。好处是,分页条你可以自行排版,不受页面约束。(前端使用的是thymeleaf)我使用的是spring boot 2.1.11.RELEA...转载 2019-04-08 14:53:30 · 13020 阅读 · 13 评论 -
重新认识微服务
SpringCloud用了挺久,但仅停留在用上面,没有真正对微服务的概念有深入了解。1.系统架构演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。到底是该乘坐微服务的船只驶向远方,还是...原创 2019-03-12 22:16:34 · 198 阅读 · 0 评论 -
Spring Security如何配置JSON登录
详解Spring Security如何配置JSON登录 这篇文章主要介绍了详解Spring Security如何配置JSON登录,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧spring security用了也有一段时间了,弄过异步和多数据源登录,也看过一点源码,最近弄rest,然后顺便搭oauth2,前端用json来登录,没想到spring securi...转载 2019-02-14 11:41:09 · 2993 阅读 · 1 评论 -
Windows下同一台机器上elasticsearch集群的配置以及elasticsearch-head插件的使用
ElasticSearch是一个基于Lucene的开源搜索服务器,现已经被越来越多的企业运用于项目当中,笔者为了学习es在自己机器上简单的搭建了一个es集群,此文权当记录。 1.我用到的压缩包 下载地址:链接:https://pan.baidu.com/s/1aIDwME7xvPBws78vRlmB7w 密码:uin6 2.首先解压两个压缩包,并将elasticse...转载 2019-01-09 17:42:56 · 699 阅读 · 1 评论 -
windows下安装ElasticSearch的Head插件
es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装)(一)从地址:https://nodejs.org/en/download/ 下载相应系统的msi,双击安装。(二)安装完成用cmd进入安装目录执行 node -v可查看版本号(三)执行 npm install -g grunt-cli 安装grunt ,安装完成后执行grunt -v...转载 2019-01-09 16:52:55 · 450 阅读 · 0 评论 -
EMERGENCYI EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY' RE NOT. RENEWALS ARE LESSE
这是触发了Eureka的自我保护机制。当服务未按时进行心跳续约时,Eureka会统计服务实例最近15分钟心跳续约的比例是否低于了85%。在生产环境下,因为网络延迟等原因,心跳失败实例的比例很有可能超标,但是此时就把服务剔除列表并不妥当,因为服务可能没有宕机。Eureka在这段时间内不会剔除任何服务实例,直到网络恢复正常。生产环境下这很有效,保证了大多数服务依然可用,不过也有可能获取到失败的服务实...原创 2019-01-20 17:00:02 · 6812 阅读 · 0 评论 -
Springboot集成SpringCloud启动后Eureka报错
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.ja...原创 2019-01-20 14:00:05 · 6468 阅读 · 0 评论 -
一个页面单个按钮导出两张Excel表格(表的结构、格式、字段都不一样)
一般来讲,前端页面向浏览器发二进制数据,使浏览器向用户询问是否存储文件有几种常见的方式: 1.设置Content-Type头,直接发送文件本身,试用单个文件或者压缩包,或者流 2.设置Content-Disposition,伴随HTML返回内容同时向浏览器提供一个二进制流,适用于单个文件或者压缩包 3.设置多个Content-Disposition,返回...原创 2019-01-08 12:21:22 · 1483 阅读 · 2 评论 -
基于partition的存储模型-聊聊partition的方式
序本文主要聊一下开源主流产品的partition方式。partition一般来说,数据库的繁忙体现在:不同用户需要访问数据集中的不同部分,这种情况下,我们把数据的各个部分存放在不同的服务器/节点中,每个服务器/节点负责自身数据的读取与写入操作,以此实现横向扩展,这种技术成为分片,即sharding。理想情况下,不同的节点服务于不同的用户,每个用户只需要与一个节点通信,并且很快就能...转载 2018-12-19 10:10:08 · 974 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(七)
一:什么是PageHelperPageHelper是一款好用的开源免费的Mybatis第三方物理分页插件物理分页支持常见的 12 种数据库。Oracle,MySql,MariaDB,SQLite,DB2,PostgreSQL,SqlServer 等支持多种分页方式支持常见的RowBounds(PageRowBounds),PageHelper.startPage 方法调用,Ma...转载 2019-10-07 19:54:38 · 185 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(八)
一:什么是通用 Mapper通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及Example相关的单表操作。通用 Mapper 是为了解决 MyBatis 使用中 90% 的基本操作,使用它可以很方便的进行开发,可以节省开发人员大量的时间。二:添加mapper依赖<dependency> <groupId...转载 2019-10-07 19:54:41 · 256 阅读 · 0 评论 -
Dubbox常见错误
一、在注册中心找不到对应的服务 java.lang.IllegalStateException: Failed to check the status of the service com.pinyougou.sellergoods.service.BrandService. No provider available for the service com.pinyougou.sell...原创 2018-09-02 11:48:28 · 915 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(二十三)
随着技术不断发展,现在越来越多的项目开始前后端分离方式进行开发。在传统项目中,shiro登陆成功自动保存sessionId到cookie中,后台根据sessionid获取当前登陆角色信息。在前后端分离的项目中,由于ip,端口不一致的原因,导致无法请求后端接口(跨域)和无法在cookie中获取sessionId。本章处理以上两个问题。一:处理跨域问题我这里的前端项目启用的是8800端口,后台...转载 2019-10-10 20:45:04 · 250 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(二十二)
现在很多网站上,都有上传图片这个功能,而图片对于现在的很多手机来说,拍摄出来的都是高清图片,分辨率也很高,当然占用的存储空间也就大了。问题也就产生了,你每个用户都上传个3M的图片怎么办?用户如果加载你的网页加载个半天,就是因为图片太大导致的那就不是钱能解决的问题了。因为用户的网络环境你是不可控制的。所以本章我们添加图片压缩,添加水印,格式转换等功能。一:添加thumbnailator依...转载 2019-10-10 20:45:01 · 157 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(二十一)
在项目中大多会使用定时任务来定时执行一些操作,如:文件迁移,备份等。今天就来跟大家一起学习下如何在SpringBoot中创建定时任务。一:创建定时任务创建core→tesks→tesk.javapackage com.example.demo.core.tasks;import org.springframework.scheduling.annotation.EnableSch...转载 2019-10-10 20:45:08 · 246 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(二十)
在实际工作中,有时候会需要将列表数据导出为Excel形式,方便打印,同事间传阅等,所以本章将添加将列表数据导出为Excel形式一:添加POI依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> &l...转载 2019-10-09 20:56:51 · 245 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(十九)
在web开发的过程中,为了实现登录权限验证,安全验证等,我们往往需要添加一个拦截器在用户的的请求到达controller层的时候实现登录验证,那么SpringBoot如何添加拦截器呢?一:添加拦截器打开core→configurer→WebConfigurer添加如下/** * TODO 修改为自己的需求 */private static final String ...转载 2019-10-09 20:56:48 · 240 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(十七)
一:添加mail依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>二:添加邮件配置打开application...转载 2019-10-09 20:56:40 · 159 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(十六)
在一个系统中,文件上传模块肯定是少不了的,例如头像上传,展示轮播图等等,所以本章我们来添加上传文件功能一:添加commons-fileupload依赖打开pom文件添加<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileuplo...转载 2019-10-09 20:56:33 · 212 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(十五)
一:添加AOP依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>二:创建自定义注解和切面创建core→aop文...转载 2019-10-09 20:56:37 · 189 阅读 · 0 评论 -
从零搭建自己的SpringBoot后台框架(十四)
一:什么是shiroShiro是一个Java平台的开源权限框架,用于认证和访问授权。具体来说,满足对如下元素的支持:用户,角色,权限(仅仅是操作权限,数据权限必须与业务需求紧密结合),资源(url)。 用户分配角色,角色定义权限。 访问授权时支持角色或者权限,并且支持多级的权限定义。简单来说shiro是通过自己的配置,来保证接口只能被指定的角色或权限访问,保证了接口的安全。二:添...转载 2019-10-09 20:56:26 · 282 阅读 · 0 评论