
springboot
文章平均质量分 81
zzzgd816
这个作者很懒,什么都没留下…
展开
-
spring缓存注解@Cacheable和@CacheEvict,设置过期时间和批量模糊删除
spring-data-redis高版本的话, 直接在yaml配置即可,但是我的是2.1.18,不知道为什么没生效,看了下两个版本设置前缀的方法也不一样,应该是版本问题。或者直接在配置类中设置,如下配置computePrefixWith()原创 2022-09-08 18:37:28 · 3384 阅读 · 0 评论 -
使用字典树TireTree和AOP注解SpringEL表达式过滤敏感词
使用字典树TireTree和AOP注解SpringEL表达式过滤敏感词字典树代码单例工厂类二级目录三级目录字典树字典树的概念这里不多说, 一般我们如果需要判断一串字符串中某个词语在不在, 都是直接用contain方法或者indexOf方法. 但是这样的话, 如果需要判断的词语很多, 效率就很低了. 如果字符串的长度是n, 词语有m个, 平均长度是l, 那这样需要调用m次indexOf方法或者contains方法, 而indexOf方法或contain方法的本质也是要遍历原字符串. 因此词语越多, 效率越原创 2021-09-09 21:11:05 · 535 阅读 · 0 评论 -
【踩坑】@Configuration和@Component的区别,内存占用完全不同
【踩坑】@Configuration和@Component的区别,内存占用完全不同一 场景描述1.1 问题代码1.2 源头二 原因三 @Configuration和@Component的区别3.1 运行结果3.2 分析一 场景描述闲着无聊dump了一份线上的运行数据,导入到一个分析dump的在线网站:https://heaphero.io/然后发现一个类居然占用了10M的大小,我这并不是一个很大的项目.整整占了全部使用内存的30%,赶紧看看是为什么。1.1 问题代码public class原创 2021-01-11 21:35:22 · 1554 阅读 · 0 评论 -
SpringBoot+Thymeleaf, 页面上嵌入groovy的demo
SpringBoot+Thymeleaf, 页面上嵌入groovy的demo说明代码依赖前端页面Controllerdto试用无参有参说明因为项目中使用到了groovy做一个比较轻量级的前端公式脚本,所以闲来无事也自己做了一个。groovy和java整合的方式有三种GroovyClassLoaderScriptEngineGroovyShell这个可以大家自行百度, 我这里用的第三种代码依赖在SpringBoot的基础上, 加入下面两个依赖. thymeleaf 主要是前端模板要用.原创 2020-06-23 21:03:19 · 658 阅读 · 0 评论 -
SpringBoot监控Actuator,关闭redis监测
SpringBoot监控Actuator,关闭redis监测方法方法当我们导入了spring-boot-starter-actuator这个依赖后, SpringBoot会默认去监测一些信息。其中就包括redis、 会根据redis的默认初始配置, localhost:6379 尝试连接redis。如果我们没有用到redis, 启动就会报错 <dependency> <groupId>org.springframework.boot</groupId>原创 2020-05-28 10:20:53 · 10265 阅读 · 2 评论 -
前后端分离,后台java配置前端域名处理跨域问题
前后端分离的话,经常是前端代码部署的服务器和后台部署的服务器不一样,域名也不一样。这个时候就会有跨域问题。我们可以通过前端的处理方式jsonp(基于js的无视域名调用和callback回调封装),但是这里只说后台java 的处理方式代码:跨域问题是浏览器控制台虽然会抛异常,但是仍然会发起这个请求。后台设置响应头Access-Control-Allow-Origin表示了指定允许其他域名访问 ...原创 2019-10-16 19:04:51 · 2436 阅读 · 0 评论 -
将SpringBoot+SpringSecurity改造为前后端分离+Jwt的权限认证系统,Token过期刷新问题
前言一般来说,我们用SpringSecurity默认的话是前后端整在一起的,比如thymeleaf或者Freemarker,SpringSecurity还自带login登录页,还让你配置登出页,错误页。但是现在前后端分离才是正道,前后端分离的话,那就需要将返回的页面换成Json格式交给前端处理了SpringSecurity默认的是采用Session来判断请求的用户是否登录的,但是不方便分布式...原创 2019-07-18 20:00:23 · 11928 阅读 · 14 评论 -
SpringBoot的restTemplate整合HttpClient连接池及配置
1. 为什么要整合HttpClientRestTemplate是Spring自带的一个调用rest服务的客户端,它提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。RestTemplate默认是使用JDK原生的URLConnection,默认超时为-1, 也就表示是没有超时时间的,这个肯定不能满足复杂情况的使用需求, restTemplate的工厂是支持使用HttpCli...原创 2019-03-27 23:15:05 · 33405 阅读 · 12 评论 -
Java8环境下使用restTemplate单/多线程下载大文件和小文件
0. 准备工作下面使用的restTemplate, 都是使用整合了HttpClient连接池的restTemplate, 关于整合可以看我的上一篇文章 ,当然直接使用原生的也是可以的我这里还使用了VisualVm Launcher的idea插件,来查看运行时的内存够和线程1. 简单的下载文件这里使用的是restTemplate调用getForEntity, 获取到字节数组, 再将字节数组...原创 2019-03-30 17:30:52 · 8926 阅读 · 8 评论 -
将springboot整合https
将springboot整合httpshttps和tls的概念这里就不说了,这里说一下keytool1. 什么是keytool和keystorekeytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。在JDK 1.4以后的版本中都包含了这一工具,它的位置为%JAVA_HOME%\...原创 2019-03-22 09:43:50 · 2765 阅读 · 0 评论 -
SpringBoot访问静态资源,配置和顺序
今天在玩SpringBoot的demo的时候,放了张图片在resources目录下,启动区访问的时候,突然好奇是识别哪些文件夹来展示静态资源的, 为什么有时候放的文件夹不能显示,有的却可以.1. SpringBoot的默认配置首先我们打开WebMvcAutoConfiguration类, 因为是静态资源的位置, 所以搜索location,找到这一行代码: String staticPathP...原创 2019-03-20 13:44:16 · 11165 阅读 · 0 评论 -
使用@Aspect面向切面编程,SpringBoot的AOP编程和动态代理
1.了解1. 动态代理和静态代理静态代理: 由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。动态代理: 动态代理类的源码是在程序运行期间由JVM根据反射等机制动态的生成,所以不存在代理类的字节码文件。代理类和委托类的关系是在程序运行时确定。2.jdk代理和cglib代理动态代理又可分为:JDK...原创 2018-12-23 18:35:14 · 757 阅读 · 0 评论 -
Quartz的使用部署定时任务
1.maven导入坐标&lt;dependency&gt; &lt;groupId&gt;org.quartz-scheduler&lt;/groupId&gt; &lt;artifactiId&gt;quartz&lt;/artifactId&gt; &lt;version&gt;2.原创 2018-06-18 11:39:56 · 1162 阅读 · 0 评论 -
springboot和rabbitmq整合实现普通任务和延时任务
前言在之前的文章中,rabbitmq的延时任务和普通任务已经介绍过了普通的方式使用rabbitmq来实现普通任务和延时任务的调度,不过现在基本都会用springboot,所以这里还是来写一篇springboot使用rabbitmq的一 普通任务安装erlang,安装rabbitmq,这里就省略了概念:queue,生产者,消费者,exchange,routeKey...原创 2018-08-30 20:48:07 · 2302 阅读 · 0 评论 -
Idea-SpringBoot:There was an unexpected error (type=Not Found, status=404). /WEB-INF/page//XX.jsp
Idea在启动SpringBoot时访问Jsp页面报错:There was an unexpected error (type=Not Found, status=404). /WEB-INF/page//XX.jsp如图:刚刚一开始看, 发现报错,有两个双斜杠//, 一开始第一反应就是mvc的配置是不是前缀有问题, 然后一看配置: mvc: view: ...原创 2018-07-11 15:03:19 · 11014 阅读 · 5 评论 -
SpringBoot的properties和yml两种配置方式, 配置注入参数, 以及配置文件读取失效的问题
1. 两种配置方式SpringBoot支持两种配置方式,一种是properties文件,一种是yml首先在pom文件中添加依赖:&amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.springframework.boot&amp;amp;lt;/groupId&amp;amp;gt; &am原创 2018-05-15 09:46:11 · 40030 阅读 · 1 评论 -
SpringBoot的@SpringBootApplication注解和其他几个注解
首先,我们来看看@SpringBootApplication注解代码,如下代码,它分别继承了3个注解1、@EnableAutoConfiguration2、@ComponentScan3、@SpringBootConfiguration @Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Docu...原创 2018-05-14 16:00:05 · 4154 阅读 · 0 评论 -
SpringBoot入门 --- 使用Jsp页面和使用模板freemarker
spring-boot 支持多种模版引擎包括: 1,FreeMarker 2,Groovy 3,Thymeleaf (Spring 官网使用这个) 4,Velocity 5,JSP (貌似Spring Boot官方不推荐,STS创建的项目会在src/main/resources 下有个templates 目录,这里就是让我们放模版文件的,然后并没有生成诸如 SpringMVC ...原创 2018-05-20 02:16:52 · 2360 阅读 · 0 评论