1框架组成SpringSpringMVCMyBatis2所需工具Mysql8.0.15数据库管理系统,创建数据库Tomcat8.5.51用于部署web项目Maven3.6.1项目构建、项目依赖管理lombok1.18.10(可用可不用工具)用于类注解创建setter、getter、无参构造、全参构造、toString等函数注:只导入依赖,不安装插件是不起作用的3搭建步骤3.1新建一个空Maven项目,填写项目相关信息,完成3.2添加web框架支持选择现...
继续阅读 >
分类:spring
2020
09-30
09-30
Spring Boot加密配置文件特殊内容的示例代码详解
有时安全不得不考虑,看看新闻泄漏风波事件就知道了我们在用Springboot进行开发时,经常要配置很多外置参数ftp、数据库连接信息、支付信息等敏感隐私信息,如下这不太好,特别是互联网应用,应该用加密的方式比较安全,有点类似一些应用如电商、公安、安检平台、滚动式大屏中奖信息等显示身份证号和手机号都是前几位4109128*********和158*******。那就把图中的明文改造下1.引入加密包,可选,要是自己实现加解密算法,就...
继续阅读 >
2020
09-30
09-30
浅谈Spring中@Import注解的作用和使用
@Import用来导入@Configuration注解的配置类、声明@Bean注解的bean方法、导入ImportSelector的实现类或导入ImportBeanDefinitionRegistrar的实现类。@Import注解的作用查看Import注解源码/***Indicatesoneormore{@linkConfiguration@Configuration}classestoimport.**<p>Providesfunctionalityequivalenttothe{@code<import/>}elementinSpringXML.*Onlysupportedforclassesannotatedwith{@code@C...
继续阅读 >
2020
09-30
09-30
Spring Cloud Gateway全局通用异常处理的实现
为什么需要全局异常处理在传统SpringBoot应用中,我们@ControllerAdvice来处理全局的异常,进行统一包装返回//摘至springcloudalibabaconsole模块处理@ControllerAdvicepublicclassConsoleExceptionHandler{@ExceptionHandler(AccessException.class)privateResponseEntity<String>handleAccessException(AccessExceptione){returnResponseEntity.status(HttpStatus.FORBIDDEN).body(e.getErrMsg());...
继续阅读 >
2020
09-29
09-29
springboot CommandLineRunner接口实现自动任务加载功能
CommandLineRunner接口可以实现任务的自动加载,当项目启动完后,就会自动去执行CommandLineRunner接口里的run方法,你可以实现多个CommandLineRunner的实例,使用order来控制执行的顺序!/***项目启动后自动运行的代码CommandLineRunner*/@Component@Order(1)publicclassMyStartupRunner1implementsCommandLineRunner{privateLoggerlogger=LoggerFactory.getLogger(MyStartupRunner1.class);@Overridepublicvo...
继续阅读 >
2020
09-29
09-29
Spring Data JPA带条件分页查询实现原理
最新SpringDataJPA官方参考手册Version2.0.0.RC2,2017-07-25https://docs.spring.io/spring-data/jpa/docs/2.0.0.RC2/reference/html/JPA参考手册(找了半天,在线版的只找到这个)https://www.objectdb.com/java/jpaSpringDataJPA的Specification类,是按照EricEvans的《领域驱动设计》书中Specification的概念和语义来定义查询条件的API。使用SpringDataJPA,我们一般将自己的dao接口继承CrudRepository接口和JpaSpecifi...
继续阅读 >
2020
09-29
09-29
浅谈如何优雅地停止Spring Boot应用
首先来介绍下什么是优雅地停止,简而言之,就是对应用进程发送停止指令之后,能保证正在执行的业务操作不受影响,可以继续完成已有请求的处理,但是停止接受新请求。在SpringBoot2.3中增加了新特性优雅停止,目前SpringBoot内置的四个嵌入式Web服务器(Jetty、ReactorNetty、Tomcat和Undertow)以及反应式和基于Servlet的Web应用程序都支持优雅停止。下面,我们先用新版本尝试下:SpringBoot2.3优雅停止...
继续阅读 >
2020
09-29
09-29
spring 注解验证@NotNull等使用方法
本文介绍了spring注解验证@NotNull等使用方法,分享给大家,具体如下:常用标签@Null 被注释的元素必须为null@NotNull 被注释的元素不能为null@AssertTrue 被注释的元素必须为true@AssertFalse 被注释的元素必须为false@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值@DecimalMin(value) ...
继续阅读 >
2020
09-29
09-29
Spring Boot2.x集成JPA快速开发的示例代码
什么是JPA一种规范,并非ORM框架,也就是ORM上统一的规范spring-boot-starter-data-jpa 是SpringBoot的项目,包含了spring-data-jpa和一些其他依赖用于SpringBoot项目spring-data-jpa 是SpringData的项目,就是本体,用于任何项目解决为了执行简单查询分页,编写太多重复代码基于JPA的数据访问层的增强支持用了之后可以做什么,为什么要用?如下代码解释实体类packagecom.example.springredis.entity;...
继续阅读 >
2020
09-29
09-29
Spring 应用上下文获取 Bean 的常用姿势实例总结
本文实例讲述了Spring应用上下文获取Bean的常用姿势。分享给大家供大家参考,具体如下:1.前言通常,在Spring应用程序中,当我们使用@Bean,@Service,@Controller,@Configuration或者其它特定的注解将Bean注入SpringIoC。然后我们可以使用Spring框架提供的@Autowired或者JSR250、JSR330规范注解来使用由SpringIoC管理的Bean。2.从应用程序上下文中获取Bean今天我们将来学习如何从ApplicationContext中...
继续阅读 >
一、简介这是一款基于JS实现的超轻量级桌面版聊天软件。主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。也支持web网页聊天实现。文字聊天,互传文件,离线消息,群聊,断线重连等功能。先看一下效果,下图左边是web版,右边为PC版。二、本地搭建2.1技术栈后端技术栈:springboot:让开发人员快速开发的一款Java的微服务框架。tio:是百万级网络框架oauth2.0:OAuth2.0是一个行业的标准授...
继续阅读 >
2020
09-29
09-29
Spring Security 实现“记住我”功能及原理解析
这章继续扩展功能,来一个“记住我”的功能实现,就是说用户在登录一次以后,系统会记住这个用户一段时间,这段时间内用户不需要重新登录就可以使用系统。记住我功能基本原理原理说明用户登录发送认证请求的时候会被UsernamePasswordAuthenticationFilter认证拦截,认证成功以后会调用一个RememberMeService服务,服务里面有一个TokenRepository,这个服务会生成一个Token,然后将Token写入到浏览器的Cookie同时会使用TokenRepos...
继续阅读 >
2020
09-29
09-29
Spring Security 实现短信验证码登录功能
之前文章都是基于用户名密码登录,第六章图形验证码登录其实还是用户名密码登录,只不过多了一层图形验证码校验而已;SpringSecurity默认提供的认证流程就是用户名密码登录,整个流程都已经固定了,虽然提供了一些接口扩展,但是有些时候我们就需要有自己特殊的身份认证逻辑,比如用短信验证码登录,它和用户名密码登录的逻辑是不一样的,这时候就需要重新写一套身份认证逻辑。开发短信验证码接口获取验证码短信验证码的发送获取...
继续阅读 >
2020
09-29
09-29
Spring Boot 2 实战:自定义启动运行逻辑实例详解
本文实例讲述了SpringBoot2实战:自定义启动运行逻辑。分享给大家供大家参考,具体如下:1.前言不知道你有没有接到这种需求,项目启动后立马执行一些逻辑。比如缓存预热,或者上线后的广播之类等等。可能现在没有但是将来会有的。想想你可能的操作,写个接口上线我调一次行吗?NO!NO!NO!这种初级菜鸟才干的事。今天告诉你个骚操作使得你的代码更加优雅,逼格更高。2.CommandLineRunner接口packageorg.springframework....
继续阅读 >
2020
09-29
09-29
Spring事务管理配置文件问题排查
在开发中,遇到了sql语句报错,但是并没有回滚的情况。经过几天的排查,终于找到了事务没有回滚的原因。原来的项目用的是informix的数据库,原来针对事务回滚的机制都是好用的。我本地用的是mysql数据库。先将程序代码与spring-mybatis.xml配置文件拿过来:1、程序代码:这个问题是在验证增删改查返回值时发现的。两个操作,删除时,因为关联了外键,所以会报错,此时正常情况更新的语句也会回滚,但是并没有。/***@Author:Adm...
继续阅读 >
2020
09-29
09-29
Spring boot打包jar分离lib和resources方法实例
为什么要配置、依赖文件分离:1.在传统jar包中,所有文件都打包到一个jar包中,jar非常臃肿,在进行服务更新部署时非常不便,而且传输不稳定时导致传输失败。如果过实行文件分离、在依赖不改变的情况下,仅仅上传更新后的编译文件是非常方便的。如果要修改一些配置文件:properties、xml,静态文件等可以直接在服务器上编辑。那么怎么实行配置、依赖文件分离呢?插件介绍maven-jar-plugin这个插件式专门用来打包用的,可以配置...
继续阅读 >