SpringBoot
文章平均质量分 92
因特马
这个作者很懒,什么都没留下…
展开
-
SpringBoot 开发实践(8):使用 Lombok 净化重复代码
前言在日常开发中,我们时常需要编写一些重复的、非业务相关的功能性代码。比如实体类私有属性的 get / set 方法、创建日志输出类等。这也是 Java 饱受诟病的地方之一。往往这些冗余的代码虽然跟业务无关,但由于其功能性又不得不写,十分浪费时间,影响美观不说,后期如果有改动还不方便维护。为了解决上述痛点,就不得不提到神器 Lombok 了。有了 Lombok,在开发中我们就可以使用简单的注解,来避免编写那些重复的功能性代码。在编译的时候,Lombok 会根据注解自动帮我们生成我们省去的那些代码。是不原创 2020-07-03 17:29:09 · 949 阅读 · 0 评论 -
SpringBoot 开发实践(7):读取自定义配置
前言在开发中,我们可以通过自定义配置来灵活配置我们的项目。过去,在 SpringMVC 中,我们需要在各种 XML 中定义我们的各项配置,使用起来相对繁琐。而 SpringBoot 为我们提供了更为方便的方式定义配置,只需要在 application.yml 中添加我们需要的配置,然后通过注解读取配置即可。使用 @Value 读取配置在类中,我们可以通过给属性打上 @Value 注解,将配置中的参数值绑定到属性上。在 application.yml 中,我们添加如下配置。myconfig: n原创 2020-06-27 20:12:48 · 436 阅读 · 0 评论 -
SpringBoot 开发实践(6):@Async 异步执行方法及配置自定义线程池
前言SpringBoot 中的方法调用,默认是单线程顺序执行的。但是在开发中我们可能会存在这样一些场景,例如发送邮件或者记录日志等,这些操作往往比较耗时,但是又不是主业务中跟业务相关的内容。这种场景我们就可以选择使用 @Async 异步方法执行,即用其它线程来异步执行某些耗时操作,从而节省主线程的运行等待时间。使用 @Async 异步执行方法想要使方法异步执行非常简单,简单来说,只需要在需要异步执行的方法上添加 @Async 注解即可。编写一个 @Service 服务类,模拟耗时操作。在方法的前后,原创 2020-06-23 01:52:01 · 819 阅读 · 0 评论 -
SpringBoot 开发实践(5):定时任务 @Scheduled
前言在开发中,我们会有定时执行某些任务的需求,例如定时清理过期文件、定时发送邮件等等。SpringBoot 为我们提供了便捷的方式来配置定时任务,只需要打上几个注解即可。那么下面让我们来看看 SpringBoot 中如何开发定时任务。开启定时任务想要使用定时任务,需先打开定时任务开关。在入口类中添加 @EnableScheduling 注解@SpringBootApplication@EnableSchedulingpublic class SchedulerTaskApplication {原创 2020-06-19 01:48:14 · 1659 阅读 · 0 评论 -
SpringBoot 开发实践(4):使用 @Controller 实现 RESTful Web 接口
在之前的章节,我们已经用到了 Controller 的部分功能。那么在本章,我们就来整理下如何使用 @Controller 实现 RESTful Web 接口。@Controller基本介绍@Controller 注解用于标识一个类,被标识的类就是个 SpringMVC Controller 对象,即一个控制器。SpringBoot 在启动时,会自动扫描被 @Controller 标记的类,并扫描该类中的方法。使用 @RequestMapping 标记的方法即为一个处理器,不同的请求会由分发器分发到对原创 2020-06-12 21:24:34 · 1329 阅读 · 0 评论 -
SpringBoot 开发实践(3):优雅使用 SpringBoot + Druid + MyBatis 访问数据库
前言作为 Java 后端开发,我们免不了要和数据库打交道。那么我们如何在 SpringBoot 中优雅地与数据库交互呢?目前,主流的方式是使用 JPA 或者 MyBatis 作为访问数据库的框架。JPA 的前身是 Hibernate,其宣传的亮点是不需要写 SQL 就能实现数据的交互。对于简单的单表查询来说,JPA 有其优势,可以使开发效率大大提高。但是对于复杂的多表关联查询场景,MyBatis 灵活的优势就凸显出来了。我在一开始用 SpringBoot 访问数据库的时候,用的就是 MyBatis,所原创 2020-06-06 20:32:31 · 598 阅读 · 0 评论 -
SpringBoot 开发实践(2):SpringBoot 必备小知识
本章会不断总结更新一些有关 SpringBoot 的小知识,这类知识大都比较基础,而且比较零碎,单独拿出来作为一篇博客显得有些单薄,但是不写的话可能会使很多新手对某些地方产生疑惑。所以就单独开设本章,集中整理这些杂碎知识。因为本系列博客还在给不断更新中,所以我会在后面博客的编写中,不断整理这类零碎知识到这章中来,请持续关注。配置文件 application.properties 与 application.ymlresources 中的 application.properties 和 applica原创 2020-06-06 19:58:36 · 490 阅读 · 0 评论 -
SpringBoot 开发实践(1):三分钟入门搭建你的第一个 SpringBoot 工程
前言从大四实习第一次接触 SpringBoot 到现在,已经有 4 四年了。这期间,我也摸过一些其他的后端框架例如 JFinal 等,但回顾接触过的项目,还是用 Spring 体系开发居多。我上大四那会儿是 2016 年,那时候的 SpringBoot 刚刚在国内开始流行。网上大部分的资料还都是基于 SpringMVC 的,看得我是一头雾水,搞不清楚他俩是什么关系,也没有几篇博客能解释清楚。记得当时,我还曾纠结于 SpringBoot 和 SpringMVC 之间,到底该从哪个入手。后来我的第一个师傅原创 2020-06-06 01:40:11 · 678 阅读 · 0 评论 -
JavaMail 发送邮件阻塞问题解决——设置 smtp 超时时间
一. 起因最近发现项目中有关发送邮件的模块偶尔会阻塞住,导致整个线程阻塞。诡异的是没有捕获到任何异常日志,程序莫名其妙就卡在了 sendMail 上。后来想到发送邮件的内容过大,可能由于这个原因导致,所以找了一下有关 JavaMail 超时设置的资料。现做整理,顺便聊聊一些小坑。二. JavaMail smtp 超时参数参数类型描述mail.smtp.connecti...原创 2019-04-11 19:20:34 · 18531 阅读 · 2 评论 -
SpringBoot 全局异常处理进阶:使用 @ControllerAdvice 对不同的 Controller 分别捕获异常并处理
一. 引言之前发表过一篇 SpringBoot 捕获 controller 层全局异常并处理(@ControllerAdvice + @ExceptionHandler),讲述了如果在 SpringBoot 工程中对 Controller 配置全局异常。后来在实际工程中,又有了如下需求:有些接口在发生异常时,需要持久化错误信息,而有的接口则不需要。如果使用了全局异常处理,那每次发生了异常,还需要...原创 2019-03-15 15:05:00 · 11122 阅读 · 2 评论 -
在 SpringBoot 2.x 中使用 @Transactional 对 Redis 事务管理
一.添加 Redis 基础配置spring: redis: host: 127.0.0.1 port: 6379 password:二.开启 Redis 事务配置@Configuration@EnableTransactionManagement // 1public class RedisConfig { @Bean public Stri...原创 2019-03-04 16:46:43 · 12152 阅读 · 11 评论 -
SpringBoot 配置邮件服务
1. 有关 SpringBoot 邮件服务Spring Framework 自己有一套基于 JavaMail 的邮件服务包 org.springframework.mail,并通过 JavaMailSender 接口提供了一种简易的发送邮件的方式。这样,开发人员就可以不用操心底层的邮件系统,使用 Spring 提供的接口即可方便地使用邮件服务。官方文档:https://docs.spring.i...原创 2018-11-30 15:21:21 · 7588 阅读 · 4 评论 -
SpringBoot 对 controller 层捕获全局异常并处理的方法(@ControllerAdvice 和 @ExceptionHandler)
一. 引言在开发中,我们会有如下的场景:某个接口中,存在一些业务异常。例如用户输入的参数校验失败、用户名密码不存在等。当触发这些业务异常时,我们需要抛出这些自定义的业务异常,并对其进行处理。一般我们要把这些异常信息的状态码和异常描述,友好地返回给调用者,调用者则利用状态码等信息判断异常的具体情况。过去,我们可能需要在 controller 层通过 try/catch 处理。首先 catch 自...原创 2018-11-28 21:25:20 · 17340 阅读 · 5 评论 -
SpringBoot + Maven实现多环境动态切换yml配置及配置文件拆分
一.引言在实际的的开发中,对于一个工程,经常会有多种环境配置,例如开发环境、测试环境、生产环境等。在不同的环境下,配置有可能是不一样的,比如接口地址、数据库连接配置等。为了避免频繁的修改配置文件,我们想要简便地切换各种环境配置。好在SpringBoot提供了这样的功能,可以很方便地切换不同场景下的配置。本文就来讲解如果在SpringBoot项目中动态切换配置,以及用Maven控制配置的选择...原创 2018-08-28 11:43:47 · 30031 阅读 · 6 评论 -
SpringBoot + MyBatis + MySQL + Maven在Intellij IDEA下开发环境的搭建
最近项目中要用SpringBoot + MyBatis + MySQL + Maven的开发环境。经过一晚上折腾,终于搭建了开发环境。以下为环境搭建过程。1.新建一个Spring工程 填写项目信息。Type选择Maven Project即可 选择依赖时,选择web下的web。以及SQL下的JPA,MyBatis,MySQL。 之后,一路点击next即可完成工程的创建。2.配置pom文件原创 2017-07-08 23:28:59 · 18025 阅读 · 5 评论 -
如何在SpringBoot下读取自定义properties配置文件
本文欢迎转载,转载请注明出处,谢谢~(作者:喝酒不骑马 Colton_Null) from CSDN如何在SpringBoot下读取自定义properties配置文件?SpringBoot工程默认读取application.properties配置文件。如果需要自定义properties文件,如何读取呢?一、在resource中新建.properties文件在resource目录下新建一个conf原创 2017-07-28 01:06:23 · 31492 阅读 · 0 评论 -
SpringBoot下文件上传与下载的实现
本文欢迎转载,转载请注明出处,谢谢~(作者:喝酒不骑马 Colton_Null) from CSDNSpringBoot后台如何实现文件上传下载?最近做的一个项目涉及到文件上传与下载。前端上传采用百度webUploader插件。有关该插件的使用方法还在研究中,日后整理再记录。本文主要介绍SpringBoot后台对文件上传与下载的处理。一、单文件上传localhost:63343/lgdWeb/lg原创 2017-08-05 00:40:23 · 28578 阅读 · 9 评论 -
SpringBoot+Maven添加本地jar包并package可执行jar包的方法
本文欢迎转载,转载请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN最近的项目中,使用到了阿里云通信的短信服务。该服务需要引入短信业务有关的几个jar包。而这些jar包在maven官方仓库中是没有的。那么如何在添加本地的jar包到maven中并可以package成可执行jar包呢?一、配置Mave原创 2017-08-23 19:26:26 · 12874 阅读 · 1 评论 -
SpringBoot微服务的https配置方法(即微信小程序后台服务搭建解决方案)
最近接触了一个有关微信小程序的项目。有关小程序后台服务的https配置踩了不少坑,折腾了一两天时间,终于实现了小程序后台服务的部署。这里就总结一下基于微信小程序,有关SpringBoot后台的配置方案。原创 2017-10-17 21:44:37 · 20322 阅读 · 8 评论 -
SpringBoot的两种部署方法:jar和war
本文欢迎转载,转载请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDNjar形式如果要打包成jar包形式,需要现在pom.xml文件中配置如下<packaging>jar</packaging>然后,只需要执行package操作即可生成jar包。 点击package,会在工程生成的target目录下,生成原创 2017-10-15 16:32:01 · 8168 阅读 · 2 评论 -
SpringBoot自定义静态资源映射方法
本文欢迎转载,转载请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN为什么要自定义静态资源映射?SpringBoot默认将静态资源映射到resources目录下的public、resources、static等目录。 如果是web静态资源例如html、css、js、网站插图等静态资源,是可以放在这些目录原创 2017-10-17 00:06:09 · 9214 阅读 · 4 评论 -
SpringBoot下实现前端验证码图片的生成和校验
本文欢迎转载,转载请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN1.效果点击验证码可以获取新的验证码2.原理后台生成验证码图片,将图片传到前台。 后台在session中保存验证码内容。 前台输入验证码后传到后台在后台取出session中保存的验证码进行校验。注意,验证码的明文是不能传送到前端的。前原创 2017-12-07 18:01:52 · 22900 阅读 · 45 评论 -
SpringBoot/SpringMVC整合Shiro:实现登录与注册(MD5加盐加密)
本文欢迎转载,转载前请联系作者,经允许后方可转载。转载后请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN终于终于,用正确姿势搭建了一个Spring框架下整合Shiro的登录注册的DEMO。因为还有其他事情要忙,所以有关这个shiro的demo前前后后鼓捣了一周多。为啥多花这么多时间?按原创 2018-01-07 02:15:24 · 12574 阅读 · 16 评论 -
拥抱SpringBoot/Cloud:从SpringMVC到Spring Boot
本文欢迎转载,转载前请联系作者,经允许后方可转载。转载后请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN 所以说,就好比买车。SpringMVC就是传统的手动挡的车,开车时需要手动挂挡。而SpringBoot就是手自一体的车,默认是自动挡,想要的手动挡也可以。引言最近由于公司业务原创 2018-02-04 18:35:10 · 4364 阅读 · 1 评论 -
SpringBoot下如何配置实现跨域请求?
最近在做的项目中,我们采用前后端分离式开发。后台RequestController接口写好后,通过另一台电脑的前端界面用ajax访问我电脑上的后台服务接口时,http请求会返回500的错误。经过查阅资料得知,这个问题是由“跨域请求”所引起的。那么这个“跨域”到底是什么呢?一、什么是跨域请求?跨域请求,就是说浏览器在执行脚本文件的ajax请求时,脚本文件所在的服务地址和请求的服务地址不一样。说白了就是原创 2017-07-16 00:50:12 · 22195 阅读 · 4 评论