随笔分类 -  spring

摘要:Tomcat 漏洞 tomcat有漏洞, 需要升级到9.0.31 https://cert.360.cn/warning/detail?id=849be16c6d2dd909ff56eee7e26aeefe 2020年02月20日, 360CERT 监测发现 国家信息安全漏洞共享平台(CNVD) 收 阅读全文
posted @ 2020-02-21 13:50 Ryan.Miao 阅读(4036) 评论(0) 推荐(0) 编辑
摘要:有个接口数据量比较大,大概3M,每次访问时长都在1s甚至3s以上。后台监控显示数据查询只有100ms,传输占据了大量时间。 考虑没开启压缩,尝试开启gzip。 在springboot添加如下设置: 由于都是类似的纯文本,压缩比很惊人, 压缩后只有几百k, 接口耗时一下进入毫秒级别。 阅读全文
posted @ 2020-02-17 14:01 Ryan.Miao 阅读(891) 评论(0) 推荐(0) 编辑
摘要:当项目集成配置的功能越来越多, 说不准哪个配置就影响到了什么. 比如你启用了EnableMvC, 默认配置文件配置的一些文件就失效了. 虽然约定大于配置,让springboot可以极简化构建, 但不熟悉内部各个组件执行原理会导致我们经常出一些莫名其妙的问题, 比如配置不生效,比如Jackson的日期 阅读全文
posted @ 2020-01-10 14:07 Ryan.Miao 阅读(7371) 评论(0) 推荐(0) 编辑
摘要:一直以来,我都是 来启动springboot项目的。今天突然发现,springboot自动封装了一个bootJar的任务脚本。 demo: https://github.com/Ryan Miao/Spring Cloud Greenwich Demo/commit/ed47988218f59d2c 阅读全文
posted @ 2019-12-04 09:38 Ryan.Miao 阅读(2991) 评论(0) 推荐(0) 编辑
摘要:使用SpringSecurity搭建授权认证服务(1) 基本demo ======================================= 登录认证是做后台开发的最基本的能力,初学就知道一个interceptor或者filter拦截所有请求,然后判断参数是否合理,如此即可。当涉及到某些接口 阅读全文
posted @ 2019-07-09 11:40 Ryan.Miao 阅读(3281) 评论(0) 推荐(1) 编辑
摘要:[TOC] 背景 springboot初始化了日志的默认实现,只要我们在配置文件添加对应的配置即可。 比如 可以指定日志文件名,覆盖默认的pattern,指定不同日志级别。 但依旧有很多局限性。比如,默认的文件方案是: E:\maven\repository\org\springframework\ 阅读全文
posted @ 2018-09-05 13:49 Ryan.Miao 阅读(11940) 评论(0) 推荐(0) 编辑
摘要:有时候我们需要的jar在maven里不存在,需要手动引入。比如,钉钉sdk springboot在打包的时候,调用spring boot maven plugin,执行repackage把tomcat和resource,lib等合成一个新的jar。想要将系统jar打进去,必须配置includeSys 阅读全文
posted @ 2018-09-05 09:55 Ryan.Miao 阅读(3722) 评论(0) 推荐(0) 编辑
摘要:经常要为接口响应对象设置属性,序列化的时候是不是包含空值,反序列化的时候是否忽略不认识的字段。所以,必须要手动制定ObjectMapper或者在类上声明 虽然不算复杂,但既然统一了规则,那就来个统一设定吧。 在springboo1.5+以上的版本可以这么设置Jackson的一些属性配置 更多配置参见 阅读全文
posted @ 2018-07-03 17:18 Ryan.Miao 阅读(17186) 评论(0) 推荐(2) 编辑
摘要:我们知道spring boot actuator暴露了大量统计和监控信息的端点,spring boot admin 就是为此提供的监控项目。 先来看看大概会提供什么样的功能 从图中可以看出,主要内容都是由spring boot actuator来提供的。更多关于actuator的信息参见 "Spri 阅读全文
posted @ 2018-06-12 08:38 Ryan.Miao 阅读(4794) 评论(0) 推荐(0) 编辑
摘要:OpenFeign是什么 随着业务的增多,我们的单体应用越来越复杂,单机已经难以满足性能的需求,这时候出现了分布式。分布式通讯除了RPC, REST HTTP请求是最简单的一种方式。 "OpenFeign" 是Netflix开源的参照Retrofit, JAXRS 2.0, and WebSocke 阅读全文
posted @ 2018-06-11 11:12 Ryan.Miao 阅读(5171) 评论(0) 推荐(0) 编辑
摘要:前言 Java8的date API一经推出便广受好评,今日也准备用一用,然后就用出问题了。基本用法见https://www.cnblogs.com/woshimrf/p/java8 date api.html 问题 LocalDate可以很友好的toString为 的格式,很适合我当前的业务,但当我 阅读全文
posted @ 2018-05-30 08:43 Ryan.Miao 阅读(10617) 评论(2) 推荐(0) 编辑
摘要:简介 MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完 阅读全文
posted @ 2018-05-29 08:47 Ryan.Miao 阅读(6233) 评论(0) 推荐(2) 编辑
摘要:前言 ELK官方的 "中文文档" 写的已经挺好了,为啥还要记录本文?因为我发现,我如果不写下来,过几天就忘记了,而再次捡起来必然还要经历资料查找筛选测试的过程。虽然这个过程很有意义,但并不总是有那么多时间去做。因此,接下来的内容仅仅是我根据查询到的资料,筛选,组装,测试后达到我的目标的一个过程。 什 阅读全文
posted @ 2018-05-26 23:40 Ryan.Miao 阅读(20758) 评论(2) 推荐(4) 编辑
摘要:前言 最近严查security, 导致原来暴露出去的s3不能用了,不允许public的s3,暂时的折中方案是自己做跳转。于是需要在SpringMVC中实现文件下载功能。 关于文件存储的设计 文件存储通常用作对象存储,业界标准就是AWS s3, 国内的七牛也差不多。不想自建的话,采用这种第三方存储是很 阅读全文
posted @ 2018-01-26 17:09 Ryan.Miao 阅读(2579) 评论(0) 推荐(1) 编辑
摘要:前言 Swagger使用起来简单方便,几乎所有的API接口文档都采用swagger了。使用示例:http://www.cnblogs.com/woshimrf/p/swagger.html, 现在开发中可以参考文档,但生产环境并不想暴露出去。 配置 只要在不同环境中配置是否启用就可以了。 java 阅读全文
posted @ 2018-01-12 14:51 Ryan.Miao 阅读(24150) 评论(0) 推荐(1) 编辑
摘要:前言 非常好用,可以把系统内部的异常统一处理。用起来也很简单。比如,http://www.cnblogs.com/woshimrf/p/spring web 400.html 而Spring提供了一个base类 ,可以使用这个来处理。但用的时候要注意,不要重复定义异常捕获,对于base里已经定义好的 阅读全文
posted @ 2018-01-12 11:38 Ryan.Miao 阅读(1599) 评论(0) 推荐(1) 编辑
摘要:前言 "post@ Ryan Miao@github.io" Spring Boot里有个banner的功能,刚开始觉得很鸡肋。然而,现在觉得蛮有意思的。无聊的程序员。 生成文字 大部分工具只支持英文的库, 推荐使用在线库:http://www.network science.de/ascii/ h 阅读全文
posted @ 2017-06-17 22:01 Ryan.Miao 阅读(22744) 评论(1) 推荐(2) 编辑
摘要:SpringMVC参数校验(针对 返回 ) === From https://ryan miao.github.io/2017/05/20/spring400/ 前言 习惯别人帮忙做事的结果是自己不会做事了。一直以来, 帮我解决了程序运行中的各种问题,我只要关心我的业务逻辑,设计好我的业务代码,返回 阅读全文
posted @ 2017-03-28 23:57 Ryan.Miao 阅读(10299) 评论(2) 推荐(2) 编辑
摘要:问题 使用 接收一个json数据的时候,如果传入的参数不符合条件,就会直接返回400的error page. 但究竟是为什么会400并没有抛出来。这对大量参数字段的我们来说,排错很困难,所以应该返回出错的原因。 Resolve This was raised as an issue with Spr 阅读全文
posted @ 2017-03-22 23:11 Ryan.Miao 阅读(6788) 评论(0) 推荐(0) 编辑
摘要:Spring cache简单使用 前言 spring有一套和各种缓存的集成方式。类似于sl4j,你可以选择log框架实现,也一样可以实现缓存实现,比如ehcache,guava cache. [TOC] 什么时候用缓存 首先,缓存是为了省略消耗时间的步骤,比如io。当我需要从数据库查询的数据几乎没有 阅读全文
posted @ 2016-10-21 23:16 Ryan.Miao 阅读(17055) 评论(0) 推荐(0) 编辑