![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringBoot2.3.0
ouyangjun__
这个作者很懒,什么都没留下…
展开
-
SpringBoot2.1.x,创建自己的spring-boot-starter自动配置模块
一)spring-boot-starter命名规则自动配置模块命名规则:xxx-spring-boot,如:aspectlog-spring-boot启动器命名规则:xxx-spring-boot-starter,如:aspectlog-spring-boot-starter如两者只有一个模块:建议以xxx-spring-boot-starter方式命名。springboot建议以xxx前缀的方式对自己的自动配置命名的。二)spring-boot-starter条件注解注解 .原创 2020-09-13 09:20:31 · 759 阅读 · 1 评论 -
SpringBoot2.1.x,集成POI,用HttpServletRequestWrapper实现XSS攻击拦截,用HttpServletResponseWrapper实现通用excel导出功能
该案例是用Filter拦截器实现excel通用导出功能,并在实现的过程中,加入了XSS攻击拦截功能。局限性:1、excel通用导出,只能用于一种导出模板,列头+数据格式2、不适合数据超大导出导出excel通用模板格式效果图:第一步:创建一个maven项目,引入springboot的jar,并引入POI导出excel需要的jar<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/..原创 2020-08-07 23:35:04 · 1439 阅读 · 0 评论 -
SpringBoot2.1.x,Interceptor拦截实现,继承WebMvcConfigurer接口,实现请求接口耗时统计
一)Interceptor拦截器简介拦截器主要用于,请求之前做一些预先处理,和请求之后一些后续处理。应用场景:1、权限检查:用户登录检测、用户数据访问检测等。2、日志记录:记录请求前入参和请求后的结果等。3、数据统计:请求接口耗时,页面数据的访问量等。二)Interceptor拦截器案例第一步:创建一个maven项目,引入springboot版本的jar,并引入web模块<project xmlns="http://maven.apache.org/POM..原创 2020-08-07 21:20:17 · 869 阅读 · 0 评论 -
SpringBoot2.1.x,集成Filter过滤器的三种方式,包含OncePerRequestFilter方式
一)Filter过滤器简介主要作用:Filter使用户可以改变一个request和修改一个response,它能够在一个request到达servlet之前预处理request,也可以在response离开servlet时处理response。例如收集数据和包装数据,并进行处理。1、Filter是依赖Servlet容器的,如Tomcat。2、Filter对所有http或https请求起作用,并是在sevlet之前处理。可以理解成过滤器中包含拦截器,当一个请求过来,先进行过滤器处理,再看程序.原创 2020-08-05 23:15:03 · 3326 阅读 · 0 评论 -
SpringBoot RestTemplate GET POST请求,案例详解
一)RestTemplate简介RestTemplate是HTTP客户端库提供了一个更高水平的API。主要用于Rest服务调用。RestTemplate方法:方法组 描述 getForObject 通过GET检索表示形式。 getForEntity ResponseEntity通过使用GET检索(即状态,标头和正文)。 headForHeaders 通过使用HEAD..原创 2020-07-30 22:25:28 · 8989 阅读 · 0 评论 -
第十四章:SpringBoot2.3.0 集成ActiveMQ详解
一)ActiveMQ Jar引入和配置pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0原创 2020-07-12 15:25:06 · 603 阅读 · 0 评论 -
第十三章:SpringBoot2.3.0 @Cacheable和@CacheEvict声明式注释缓存,自定义KeyGenerator生成策略
一)基于声明式注释的缓存@Cacheable:触发缓存填充。@CacheEvict:触发缓存删除。@CachePut:更新缓存,而不会干扰方法的执行。@Caching:重新组合要应用于一个方法的多个缓存操作。@CacheConfig:在类级别共享一些与缓存相关的常见设置。二)@Cacheable含义:当调用该注解声明的方法时,会先从缓存中查找,判断是否有key相同缓存的数据,如果有,就直接返回数据,如果没有,执行方法,然后把返回的数据以键值的方式存储到缓存中,方便下.原创 2020-07-05 21:45:34 · 2906 阅读 · 1 评论 -
第十二章:SpringBoot2.3.0 Redis分布式锁
一)分布式锁特性1、互斥性:需保证任何时刻只能由一个客户端持有锁。2、高可用:加锁和解锁的效率较高,并保证原子性。3、容错性:当Redis大多数节点正常使用时,客户端可用加锁和解锁。二)单个客户端分布式锁...原创 2020-07-03 23:35:36 · 416 阅读 · 0 评论 -
第十一章:SpringBoot2.3.0 集成Redis详解
一)Redis简介Redis是一个缓存,消息代理和功能丰富的键值存储,NOSQL数据库。SpringBoot支持的Redis驱动类:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>二)Redis参.原创 2020-07-01 23:50:24 · 1519 阅读 · 0 评论 -
第十章:SpringBoot2.3.0 Mybatis+Mysql案例
一)Mybatis简介Mybatis是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。是一个基于Java的持久层框架。特点:1、简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。2、灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。3、解.原创 2020-06-17 21:35:23 · 805 阅读 · 0 评论 -
第九章:SpringBoot2.3.0 JPA+Mysql案例,并提供hibernate_sequence不存在解决方案
一)JPA简介Java Persistence API是一种标准技术,可让您将对象“映射”到关系数据库。目前Hibernate是最流行的JPA实现之一。优点:JPA在新增、修改、删除操作支持非常好。大大减少了数据库SQL的编写。缺点:JPA在查询方面支持不太友好,主要是体现在多表连接查询上,所以复杂的查询可以用EntityManager方式。实体类加载方式:传统上,JPA“实体”类在persistence.xml文件中指定。在Spring Boot中,此文件不是必需的,而..原创 2020-06-14 21:55:22 · 1621 阅读 · 0 评论 -
第八章:SpringBoot2.3.0 JdbcTemplate和NamedParameterJdbcTemplate使用详解
一)JdbcTemplate简介SpringJdbcTemplate是对jdbc API的一些封装,也可以说JdbcTemplate是Spring MVC内置的对JDBC的一个封装。优点:执行效率快,和jdbc一样,适合大批量数据操作。缺点:事务处理方面没有mybatis和hibernate、jpa完善。二)JdbcTemplate使用第一步:在oracle数据库中创建一个表,用于数据持久化保持,脚本如下:drop table TAB_EMPLOYEE;create t..原创 2020-06-11 22:20:26 · 1904 阅读 · 0 评论 -
第七章:SpringBoot2.3.0 RESTful API常用GET、POST请求方式传参与统一返回值
一)RESTful简介定义:RESTful是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTful特点:1、每一个URI都是一个唯一资源标识符;2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;3、资源的表现形式是XML或HTML或JSON;4、客户端与服务端之间的交互在.原创 2020-06-09 22:15:14 · 4918 阅读 · 2 评论 -
第六章:SpringBoot2.3.0 @ConfigurationProperties注解与JavaBean属性绑定
一)@ConfigurationProperties简介含义:该属性使强类型的Bean可以管理和验证应用程序的配置。可以说是@Value("${property}")注释的替代方法。@Value("${property}")的缺点:当配置非常多时,如果引用的地方也非常多,需要在很多地方通过@Value注入属性。会造成代码重复和后期维护麻烦。因为@Value属于动态获取值,JavaBean属性不能用static修饰符修饰。二)JavaBean基础属性绑定application.yml配置.原创 2020-06-06 22:35:28 · 1243 阅读 · 0 评论 -
第五章:SpringBoot2.3.0 打包Jar,多个yml或properties配置文件,动态指定spring.profiles.active属性
一)spring.profiles.active简介含义:显式激活指定的配置文件。SpringBoot在启动加载配置文件时,如没有明确指定spring.profiles.active属性,默认是加载application.yml或application.properties文件。还可以使用以下命名约定来定义特定于配置文件的属性:application-{profile}.yml或application-{profile}.properties作用:特定于配置文件的文件始终会覆盖非特.原创 2020-06-06 19:35:29 · 11339 阅读 · 1 评论 -
第四章:SpringBoot2.3.0 打包Jar,加载yml或properties配置文件顺序
一)yml和properties配置文件简介SpringBoot在启动时,可支持文件名后缀格式为yml或properties的配置文件。两者只是编写格式有点差异性。application.yml文件:有层级关系,当相同配置前缀较多时,可减少代码量server: port: 9000class: method: firstmethod: fnA secondmethod: fnB params: paramA: defaultA paramB: d原创 2020-06-06 11:50:12 · 3479 阅读 · 1 评论 -
第三章:SpringBoot2.3.0 ApplicationRunner或CommandLineRunner
一)ApplicationRunner或CommandLineRunner简介当SpringBoot启动之后,如需执行一些特定的代码,这两个接口以相同的方式工作,并提供一个单一的run方法,该方法在SpringApplication.run(…)完成之前就被调用。比如说,预先加载一些配置,注册一些bean等等。二)CommandLineRunner该接口只提供了run方法,并且入参是String类型。@Component:此注解把该类声明成一个bean。@Order:当有多个.原创 2020-06-06 10:05:22 · 320 阅读 · 0 评论 -
第二章:SpringBoot2.3.0 Banner横幅
一)自定义横幅SpringBoot应用程序在启动之后,会在控制台默认打印如下横幅:方式一:默认文件名称和图片名称可在默认路径下(src/main/resources),创建一个banner.txt文件和一张图片,图片格式支持banner.gif、banner.jpg、banner.png图像格式。默认的文件和图片名称都为:banner.*格式。方式二:指定文件和图片名称,先在application.yml中增加如下配置:server: port: 8081spri.原创 2020-06-03 23:35:11 · 308 阅读 · 0 评论 -
第一章:SpringBoot2.3.0 HelloWorld实例
一)SpringBoot简介Spring Boot是一个轻量级应用框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。特征:1、可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs。2、内嵌Tomcat或Jetty等Servlet容器。3、提供自动配置的“starter”项目对象模型(POMS)以简化Mav.原创 2020-06-02 22:25:02 · 1417 阅读 · 0 评论