随笔分类 - 1202 SpringBoot

摘要:SpringBoot返回结果为null或空值不显示处理方法 方法一:自定义消息转换器 @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter{ /** * 利用fastjson替换掉jackson * @par 阅读全文
posted @ 2020-12-31 00:12 panchanggui 阅读(12) 评论(0) 推荐(0) 编辑
摘要:延时队列应用于什么场景 延时队列顾名思义,即放置在该队列里面的消息是不需要立即消费的,而是等待一段时间之后取出消费。那么,为什么需要延迟消费呢?我们来看以下的场景 网上商城下订单后30分钟后没有完成支付,取消订单(如:淘宝、去哪儿网) 系统创建了预约之后,需要在预约时间到达前一小时提醒被预约的双方参 阅读全文
posted @ 2020-08-28 16:01 panchanggui 阅读(202) 评论(0) 推荐(0) 编辑
摘要:一、页面静态化 1、动静态页面 静态页面 即静态网页,指已经装载好内容HTML页面,无需经过请求服务器数据和编译过程,直接加载到客户浏览器上显示出来。通俗的说就是生成独立的HTML页面,且不与服务器进行数据交互。 优缺点描述: 静态网页的内容稳定,页面加载速度极快; 不与服务器交互,提升安全性; 静 阅读全文
posted @ 2020-07-21 11:32 panchanggui 阅读(250) 评论(0) 推荐(0) 编辑
摘要:前文我们讨论了使用/refresh 端点手动刷新配置,但是如果所有微服务节点的配置都需要手动去刷新的话,那必然是一个繁琐的工作,并且随着系统的不断扩张,会变得越来越难以维护。因此,实现配置的自动刷新是很有必要的,本节我们讨论使用Spring Cloud Bus实现配置的自动刷新。 Spring Cl 阅读全文
posted @ 2020-05-18 11:07 panchanggui 阅读(306) 评论(0) 推荐(0) 编辑
摘要:IOC容器有beanFactory 和ApplicationContext.通常建议使用后者,因为它包含了前者的功能。Spring的核心是ApplicationContext.它负责管理 beans 的完整生命周期。我们可以从applicationContext里通过bean名称获取安装的bean. 阅读全文
posted @ 2020-05-11 16:24 panchanggui 阅读(4776) 评论(0) 推荐(0) 编辑
摘要:近期使用 RestTemplate 访问外部资源时,发现一个有意思的问题。因为权限校验失败,对方返回的 401 的 http code,此外返回数据中也会包含一些异常提示信息;然而在使用 RestTemplate 访问时,却是直接抛了如下提示 401 的异常,并不能拿到提示信息 那么 RestTem 阅读全文
posted @ 2020-05-11 09:42 panchanggui 阅读(335) 评论(0) 推荐(0) 编辑
摘要:当我们调用一个接口可能由于网络等原因造成第一次失败,再去尝试就成功了,这就是重试机制,spring支持重试机制,并且在Spring Cloud中可以与Hystaix结合使用,可以避免访问到已经不正常的实例。 写一个简单的demo,加入依赖: <dependencies> <dependency> < 阅读全文
posted @ 2020-05-08 11:10 panchanggui 阅读(202) 评论(0) 推荐(0) 编辑
摘要:在REST接口的设计中,利用RestTemplate进行接口测试是种常见的方法,但在使用过程中,由于其方法参数众多,很多同学又混淆了表单提交与Payload提交方式的差别,而且接口设计与传统的浏览器使用的提交方式又有差异,经常出现各种各样的错误,如405错误,或者根本就得不到提交的数据,错误样例如下 阅读全文
posted @ 2020-04-22 14:40 panchanggui 阅读(898) 评论(0) 推荐(0) 编辑
摘要:1.异步消息的定义 异步消息的主要目的是为了系统与系统之间的通信,所谓异步消息即消息发送者无需等待消息接收者的处理以及返回,甚至无需关心消息是否发送成功 在异步消息中有两个很重要的概念,即消息代理和目的地,当消息发送者发送消息之后,消息将由消息代理接管,消息代理保证消息传递到指定目的地。 异步消息主 阅读全文
posted @ 2020-04-19 15:46 panchanggui 阅读(393) 评论(0) 推荐(0) 编辑
摘要:Spring配置文件xmlns加入 xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation中加入 http://www.springframework.org/schema/task http://www. 阅读全文
posted @ 2020-04-10 15:45 panchanggui 阅读(289) 评论(0) 推荐(0) 编辑
摘要:拦截器中获取get参数不会出现任何异常,但是在拦截器中读取了输入流中body内容后,在controller中@RequestBody注解参数无法获取到内容。 背景 通常对安全性有要求的接口都会对请求参数做一些签名验证,而我们一般会把验签的逻辑统一放到过滤器或拦截器里,这样就不用每个接口都去重复编写验 阅读全文
posted @ 2020-02-12 09:38 panchanggui 阅读(483) 评论(0) 推荐(0) 编辑
摘要:路径:org.springframework.security.oauth2.provider.endpoint @Controller的同义词,但仅用于框架提供的端点(因此它永远不会与用@Controller定义的用户自己的端点冲突)。 与@RequestMapping和所有其他@Controll 阅读全文
posted @ 2020-02-08 10:12 panchanggui 阅读(1612) 评论(0) 推荐(0) 编辑
摘要:@ControllerAdvice ,很多初学者可能都没有听说过这个注解,实际上,这是一个非常有用的注解,顾名思义,这是一个增强的 Controller。使用这个 Controller ,可以实现三个方面的功能: 全局异常处理 全局数据绑定 全局数据预处理 灵活使用这三个功能,可以帮助我们简化很多工 阅读全文
posted @ 2020-01-22 11:30 panchanggui 阅读(175) 评论(0) 推荐(0) 编辑
摘要:一、拦截器与过滤器 在讲Spring boot之前,我们先了解一下过滤器和拦截器。这两者在功能方面很类似,但是在具体技术实现方面,差距还是比较大的。在分析两者的区别之前,我们先理解一下AOP的概念,AOP不是一种具体的技术,而是一种编程思想。在面向对象编程的过程中,我们很容易通过继承、多态来解决纵向 阅读全文
posted @ 2020-01-19 17:14 panchanggui 阅读(640) 评论(0) 推荐(0) 编辑
摘要:首先我们说说什么是过滤器,过滤器是对数据进行过滤,预处理过程,当我们访问网站时,有时候会发布一些敏感信息,发完以后有的会用*替代,还有就是登陆权限控制等,一个资源,没有经过授权,肯定是不能让用户随便访问的,这个时候,也可以用到过滤器。过滤器的功能还有很多,例如实现URL级别的权限控制、压缩响应信息、 阅读全文
posted @ 2020-01-19 17:13 panchanggui 阅读(940) 评论(0) 推荐(1) 编辑
摘要:1、docker-maven-plugin 介绍 在我们持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时能够快速动态扩容,快速回滚,着实很方便。docker-maven-plugin 插件就是为了帮助我们在Maven工程中,通过简单的配置 阅读全文
posted @ 2020-01-07 15:50 panchanggui 阅读(1221) 评论(0) 推荐(0) 编辑
摘要:使用Spring Boot编写了一个微服务后,如何将构建应用并打包成docker镜像,推送到docker仓库,以供测试环境测试。 docker-maven-plugin插件可以完成这项任务。 最近使用了docker-maven-plugin插件,想写一篇关于使用总结的文章,但发现它在github上的 阅读全文
posted @ 2020-01-07 15:49 panchanggui 阅读(4463) 评论(0) 推荐(0) 编辑
摘要:1.在pom.xml中配置 <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker-maven-plugin.version}</version> < 阅读全文
posted @ 2020-01-02 16:59 panchanggui 阅读(1219) 评论(0) 推荐(0) 编辑
摘要:一般在一个项目中,总是会有好多个环境。比如: 开发环境 -> 测试环境 -> 预发布环境【验证环境】 -> 生产环境 每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一点不同,配置读取可是一个让人有点伤脑筋的问题。 Spring Boot提供了一种优先级配置读取的机制来帮助 阅读全文
posted @ 2020-01-02 16:47 panchanggui 阅读(1596) 评论(0) 推荐(0) 编辑
摘要:当docker启动SpringBoot打包的服务时,且一些参数需要从外界获取而非写死在properties文件里,通过以下两步完成此需求:1.在配置文件中配置环境变量 spring.redis.host=${REDIS_HOST:127.0.0.1}spring.redis.port=6379spr 阅读全文
posted @ 2020-01-02 16:41 panchanggui 阅读(4666) 评论(0) 推荐(0) 编辑