随笔分类 - 1202 SpringBoot

摘要:延时队列应用于什么场景 延时队列顾名思义,即放置在该队列里面的消息是不需要立即消费的,而是等待一段时间之后取出消费。那么,为什么需要延迟消费呢?我们来看以下的场景 网上商城下订单后30分钟后没有完成支付,取消订单(如:淘宝、去哪儿网) 系统创建了预约之后,需要在预约时间到达前一小时提醒被预约的双方参 阅读全文

posted @ 2020-08-28 16:01 panchanggui 阅读(69) 评论(0) 推荐(0) 编辑 |

摘要:一、页面静态化 1、动静态页面 静态页面 即静态网页,指已经装载好内容HTML页面,无需经过请求服务器数据和编译过程,直接加载到客户浏览器上显示出来。通俗的说就是生成独立的HTML页面,且不与服务器进行数据交互。 优缺点描述: 静态网页的内容稳定,页面加载速度极快; 不与服务器交互,提升安全性; 静 阅读全文

posted @ 2020-07-21 11:32 panchanggui 阅读(128) 评论(0) 推荐(0) 编辑 |

摘要:前文我们讨论了使用/refresh 端点手动刷新配置,但是如果所有微服务节点的配置都需要手动去刷新的话,那必然是一个繁琐的工作,并且随着系统的不断扩张,会变得越来越难以维护。因此,实现配置的自动刷新是很有必要的,本节我们讨论使用Spring Cloud Bus实现配置的自动刷新。 Spring Cl 阅读全文

posted @ 2020-05-18 11:07 panchanggui 阅读(196) 评论(0) 推荐(0) 编辑 |

摘要:IOC容器有beanFactory 和ApplicationContext.通常建议使用后者,因为它包含了前者的功能。Spring的核心是ApplicationContext.它负责管理 beans 的完整生命周期。我们可以从applicationContext里通过bean名称获取安装的bean. 阅读全文

posted @ 2020-05-11 16:24 panchanggui 阅读(2587) 评论(0) 推荐(0) 编辑 |

摘要:近期使用 RestTemplate 访问外部资源时,发现一个有意思的问题。因为权限校验失败,对方返回的 401 的 http code,此外返回数据中也会包含一些异常提示信息;然而在使用 RestTemplate 访问时,却是直接抛了如下提示 401 的异常,并不能拿到提示信息 那么 RestTem 阅读全文

posted @ 2020-05-11 09:42 panchanggui 阅读(218) 评论(0) 推荐(0) 编辑 |

摘要:当我们调用一个接口可能由于网络等原因造成第一次失败,再去尝试就成功了,这就是重试机制,spring支持重试机制,并且在Spring Cloud中可以与Hystaix结合使用,可以避免访问到已经不正常的实例。 写一个简单的demo,加入依赖: <dependencies> <dependency> < 阅读全文

posted @ 2020-05-08 11:10 panchanggui 阅读(114) 评论(0) 推荐(0) 编辑 |

摘要:在REST接口的设计中,利用RestTemplate进行接口测试是种常见的方法,但在使用过程中,由于其方法参数众多,很多同学又混淆了表单提交与Payload提交方式的差别,而且接口设计与传统的浏览器使用的提交方式又有差异,经常出现各种各样的错误,如405错误,或者根本就得不到提交的数据,错误样例如下 阅读全文

posted @ 2020-04-22 14:40 panchanggui 阅读(571) 评论(0) 推荐(0) 编辑 |

摘要:1.异步消息的定义 异步消息的主要目的是为了系统与系统之间的通信,所谓异步消息即消息发送者无需等待消息接收者的处理以及返回,甚至无需关心消息是否发送成功 在异步消息中有两个很重要的概念,即消息代理和目的地,当消息发送者发送消息之后,消息将由消息代理接管,消息代理保证消息传递到指定目的地。 异步消息主 阅读全文

posted @ 2020-04-19 15:46 panchanggui 阅读(233) 评论(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 阅读(177) 评论(0) 推荐(0) 编辑 |

摘要:拦截器中获取get参数不会出现任何异常,但是在拦截器中读取了输入流中body内容后,在controller中@RequestBody注解参数无法获取到内容。 背景 通常对安全性有要求的接口都会对请求参数做一些签名验证,而我们一般会把验签的逻辑统一放到过滤器或拦截器里,这样就不用每个接口都去重复编写验 阅读全文

posted @ 2020-02-12 09:38 panchanggui 阅读(327) 评论(0) 推荐(0) 编辑 |

摘要:路径:org.springframework.security.oauth2.provider.endpoint @Controller的同义词,但仅用于框架提供的端点(因此它永远不会与用@Controller定义的用户自己的端点冲突)。 与@RequestMapping和所有其他@Controll 阅读全文

posted @ 2020-02-08 10:12 panchanggui 阅读(1000) 评论(0) 推荐(0) 编辑 |

摘要:@ControllerAdvice ,很多初学者可能都没有听说过这个注解,实际上,这是一个非常有用的注解,顾名思义,这是一个增强的 Controller。使用这个 Controller ,可以实现三个方面的功能: 全局异常处理 全局数据绑定 全局数据预处理 灵活使用这三个功能,可以帮助我们简化很多工 阅读全文

posted @ 2020-01-22 11:30 panchanggui 阅读(146) 评论(0) 推荐(0) 编辑 |

摘要:一、拦截器与过滤器 在讲Spring boot之前,我们先了解一下过滤器和拦截器。这两者在功能方面很类似,但是在具体技术实现方面,差距还是比较大的。在分析两者的区别之前,我们先理解一下AOP的概念,AOP不是一种具体的技术,而是一种编程思想。在面向对象编程的过程中,我们很容易通过继承、多态来解决纵向 阅读全文

posted @ 2020-01-19 17:14 panchanggui 阅读(531) 评论(0) 推荐(0) 编辑 |

摘要:首先我们说说什么是过滤器,过滤器是对数据进行过滤,预处理过程,当我们访问网站时,有时候会发布一些敏感信息,发完以后有的会用*替代,还有就是登陆权限控制等,一个资源,没有经过授权,肯定是不能让用户随便访问的,这个时候,也可以用到过滤器。过滤器的功能还有很多,例如实现URL级别的权限控制、压缩响应信息、 阅读全文

posted @ 2020-01-19 17:13 panchanggui 阅读(682) 评论(0) 推荐(1) 编辑 |

摘要:1、docker-maven-plugin 介绍 在我们持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时能够快速动态扩容,快速回滚,着实很方便。docker-maven-plugin 插件就是为了帮助我们在Maven工程中,通过简单的配置 阅读全文

posted @ 2020-01-07 15:50 panchanggui 阅读(912) 评论(0) 推荐(0) 编辑 |

摘要:使用Spring Boot编写了一个微服务后,如何将构建应用并打包成docker镜像,推送到docker仓库,以供测试环境测试。 docker-maven-plugin插件可以完成这项任务。 最近使用了docker-maven-plugin插件,想写一篇关于使用总结的文章,但发现它在github上的 阅读全文

posted @ 2020-01-07 15:49 panchanggui 阅读(3263) 评论(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 阅读(790) 评论(0) 推荐(0) 编辑 |

摘要:一般在一个项目中,总是会有好多个环境。比如: 开发环境 -> 测试环境 -> 预发布环境【验证环境】 -> 生产环境 每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一点不同,配置读取可是一个让人有点伤脑筋的问题。 Spring Boot提供了一种优先级配置读取的机制来帮助 阅读全文

posted @ 2020-01-02 16:47 panchanggui 阅读(948) 评论(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 阅读(2960) 评论(0) 推荐(0) 编辑 |

摘要:各个版本的兼容,在官网查看 https://start.spring.io/actuator/info 阅读全文

posted @ 2019-12-31 21:29 panchanggui 阅读(766) 评论(0) 推荐(0) 编辑 |

摘要:Spring Boot框架是目前非常流行的微服务框架,我们很多情况下使用它来提供Rest API。而对于Rest API来说很重要的一部分内容就是文档,Swagger为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证API文档的及时性将有很大的帮助。本文将使用Swagger 2规范的S 阅读全文

posted @ 2019-12-30 16:38 panchanggui 阅读(185) 评论(0) 推荐(0) 编辑 |

摘要:MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();postParameters.add("mobile", phone);postParameters.add("smsCaptcha", code); 阅读全文

posted @ 2019-12-11 17:33 panchanggui 阅读(2001) 评论(0) 推荐(0) 编辑 |

摘要:使用 @Validated ,@Valid ,@NotBlank 之类的,请自行百度,本文着重与捕捉校验失败信息并封装返回出去 参考: https://mp.weixin.qq.com/s/EaZxYKyC4L_EofWdtyBCpw https://www.jianshu.com/p/bcc5a3 阅读全文

posted @ 2019-10-29 13:38 panchanggui 阅读(638) 评论(0) 推荐(0) 编辑 |

摘要:RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。 我之前的HTTP开发是用apache的HttpClient开发,代码复杂,还得操心资源回收等。代码很复杂,冗余代码多,稍微截个图 阅读全文

posted @ 2019-09-27 11:32 panchanggui 阅读(1389) 评论(0) 推荐(1) 编辑 |

摘要:原文:Hacking the IntegerCache in Java 9? 链接:https://dzone.com/articles/hacking-the-integercache-in-java-9 译者:-_-struggle, Tocy, 无若, cassia_tora 概述 本文将重点 阅读全文

posted @ 2019-09-25 09:57 panchanggui 阅读(5441) 评论(0) 推荐(0) 编辑 |

摘要:在我们使用spring框架的过程中,在很多时候我们会使用@async注解来异步执行某一些方法,提高系统的执行效率。今天我们来探讨下 spring 是如何完成这个功能的。 spring 在扫描bean的时候会扫描方法上是否包含@async的注解,如果包含的,spring会为这个bean动态的生成一个子 阅读全文

posted @ 2019-09-19 16:44 panchanggui 阅读(215) 评论(0) 推荐(0) 编辑 |

摘要:@Cacheable 注解在对象内部调用不会生效 代码示例:ProductServiceImpl.java 此时getProductList 调用findProductInfoList缓存注解@Cacheable 是不会生效的。 原因:Spring 缓存注解是基于Spring AOP切面,必须走代理 阅读全文

posted @ 2019-09-12 16:01 panchanggui 阅读(1174) 评论(0) 推荐(0) 编辑 |

摘要:《Spring入门经典》这本书无论对于初学者或者有经验的工程师还是很值一看的,最近花了点时间回顾了Spring的内容,在此顺带记录一下,本篇主要与spring IOC相关 ,这篇博文适合初学者也适合spring有过开发经验的工程师,前者可用于全面了解Spring IOC的知识点,后者且过目进而查漏补 阅读全文

posted @ 2019-09-12 15:51 panchanggui 阅读(180) 评论(0) 推荐(0) 编辑 |

摘要:版权声明:本文为CSDN博主「zejian_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/javazejian/article/details/56267036 关联文章: 关于Spring IOC (D 阅读全文

posted @ 2019-09-12 14:55 panchanggui 阅读(217) 评论(0) 推荐(0) 编辑 |

摘要:从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法, 阅读全文

posted @ 2019-09-12 09:48 panchanggui 阅读(17812) 评论(0) 推荐(1) 编辑 |

摘要:一、前言 搭建springboot项目,我们都是采用的Restful接口,那么问题来了,当前端调用接口或者是其他项目调用时,我们不能单一靠调用方来控制参数的准确性,自己也要对一些非空的值进行判定。 二、方案 按照我们以往的做法,都是对request中的参数一个一个进行非空判定。 Model: Con 阅读全文

posted @ 2019-09-11 17:19 panchanggui 阅读(2837) 评论(0) 推荐(0) 编辑 |

摘要:Spring Boot应用支持的最大并发量是多少? Spring Boot 能支持的最大并发量主要看其对Tomcat的设置,可以在配置文件中对其进行更改。当在配置文件中敲出max后提示值就是它的默认值。 我们可以看到默认设置中,Tomcat的最大线程数是200,最大连接数是10000。 并发量指的是 阅读全文

posted @ 2019-09-05 14:28 panchanggui 阅读(7553) 评论(0) 推荐(0) 编辑 |

摘要:SpringBoot返回date日期格式化,解决返回为TIMESTAMP时间戳格式或8小时时间差 问题描述 在Spring Boot项目中,使用@RestController注解,返回的java对象中若含有date类型的属性,则默认输出为TIMESTAMP时间戳格式(数据库datetime类型查询出 阅读全文

posted @ 2019-07-01 19:14 panchanggui 阅读(1694) 评论(0) 推荐(0) 编辑 |

摘要:Springboot1.5以上版本,在使用 @ConfigurationProperties注解的时候会提示“Spring Boot Configuration Annotation Processor not found in classpath”, 这是因为新版本已经取消了对location的支 阅读全文

posted @ 2019-05-27 09:35 panchanggui 阅读(2714) 评论(0) 推荐(1) 编辑 |

摘要:转自:https://blog.csdn.net/linzhiqiang0316/article/details/52638039 什么是事务? 我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合。由于数据操作在顺序执行的过程中,任何一步操作都有可能发生异常,异常会导致后续 阅读全文

posted @ 2019-05-17 17:45 panchanggui 阅读(4399) 评论(0) 推荐(1) 编辑 |

摘要:1. 若application.yml 和bootStrap.yml 在同一目录下,则bootStrap.yml 的加载顺序要高于application.yml,即bootStrap.yml 会优先被加载。 原理:bootstrap.yml 用于应用程序上下文的引导阶段。 bootstrap.yml 阅读全文

posted @ 2019-04-29 09:53 panchanggui 阅读(10704) 评论(0) 推荐(1) 编辑 |

摘要:如何返回 JSON 数据? 在 Spring Boot 中返回 JSON 数据很简单,如下几步。 加入依赖 除了 Spring Boot 必须自带的 parent 依赖外,仅仅只需要加入这个 spring-boot-starter-web 包即可,它会自动包含所有 JSON 处理的包,如下图所示。 阅读全文

posted @ 2019-04-24 19:34 panchanggui 阅读(375) 评论(0) 推荐(0) 编辑 |

摘要:使用 Spring Boot 会涉及到各种各样的配置,如开发、测试、线上就至少 3 套配置信息了。Spring Boot 可以轻松的帮助我们使用相同的代码就能使开发、测试、线上环境使用不同的配置。 在 Spring Boot 里面,可以使用以下几种方式来加载配置。本章内容基于 Spring Boot 阅读全文

posted @ 2019-04-24 19:30 panchanggui 阅读(91) 评论(0) 推荐(0) 编辑 |

摘要:如果加载的配置有重复的,它们的加载顺序是这样的,数字越小的优先级越高,即优先级高的覆盖优先级低的配置。 知道了它们的加载顺序,我们就能知道从哪一步来替换配置。 http://www.javastack.cn/article/2017/spring-boot-config-load-order/ 阅读全文

posted @ 2019-04-24 19:27 panchanggui 阅读(192) 评论(0) 推荐(0) 编辑 |

摘要:在Spring Boot下默认提供了若干种可用的连接池(dbcp,dbcp2, tomcat, hikari),当然并不支持Druid,Druid来自于阿里系的一个开源连接池,它提供了非常优秀的监控功能。 阿里巴巴也提供了Druid的SpringBoot集成版(druid-spring-boot-s 阅读全文

posted @ 2019-04-24 19:24 panchanggui 阅读(827) 评论(0) 推荐(0) 编辑 |

摘要:最近在启用springcloud配置中心server的东西,在整理属性资源的时候,突然发现:用了这么久的springboot,为什么会配置两个属性文件同时存在(application.yml/properties,bootstrap.yml/properties). 下面的解释,我认为是最通俗易懂的 阅读全文

posted @ 2019-04-24 18:50 panchanggui 阅读(419) 评论(0) 推荐(0) 编辑 |

摘要:读取application文件 在application.yml或者properties文件中添加: info.address=USAinfo.company=Springinfo.degree=high @Value注解读取方式 @ConfigurationProperties注解读取方式 读取指 阅读全文

posted @ 2019-04-24 18:27 panchanggui 阅读(1646) 评论(0) 推荐(0) 编辑 |

摘要:最近参照资料创建Springboot AOP ,结果运行后aop死活不生效。 查明原因: 是我在创建AOP类时选择了Aspect类型,创建后才把这个文件改为Class类型,导致一直不生效, 代码配置这块都没问题。 解决办法 重新创建一个Java Class类型的文件,把原来AOP的代码拷过去就可以了 阅读全文

posted @ 2019-04-24 11:19 panchanggui 阅读(5598) 评论(0) 推荐(1) 编辑 |

摘要:springboot中spring.profiles.include的妙用。 我们有这样的一个springboot项目。项目分为开发、测试、生产三个不同阶段(环境),每个阶段都会有db、ftp、redis等的不同配置信息。我们可以使用spring.profiles.include来实现三种不同环境的 阅读全文

posted @ 2019-04-23 10:03 panchanggui 阅读(2577) 评论(0) 推荐(0) 编辑 |

摘要:一.Tkmybatis的好处 Tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效。这个插件里面封装好了我们需要用到的很多sql语句,不过这个插件是通过我们去调用它封装的各种方法来实现sql语句的效果。对于单表查询不需要写SQL语句,这样就不用像mybatis那样每次写一个 阅读全文

posted @ 2019-04-23 08:49 panchanggui 阅读(2463) 评论(0) 推荐(0) 编辑 |

摘要:原文:https://www.cnblogs.com/jpfss/p/8422770.html Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性。 凭本人的感觉和经验来说,在项目中完全按标准都写Junit用例覆盖大部分业务代码的,应该不会超过一半。 刚 阅读全文

posted @ 2019-04-22 19:20 panchanggui 阅读(706) 评论(0) 推荐(0) 编辑 |

摘要:SpringBoot 切面AOP 使用 阅读全文

posted @ 2019-04-22 11:11 panchanggui 阅读(46) 评论(0) 推荐(0) 编辑 |

摘要:SpringBoot 事务 使用 阅读全文

posted @ 2019-04-22 11:10 panchanggui 阅读(174) 评论(0) 推荐(0) 编辑 |

摘要:前提: 基于SpringBoot项目,正常集成Mybatis后,为了简化sql语句的编写,甚至达到无mapper.xml文件。 在本篇总结教程,不在进行SpringBoot集成Mybatis的概述。 如有需要,请查看我另一篇文章 SpringBoot集成MyBatis,这里不再赘述。 一. 实现步骤 阅读全文

posted @ 2019-04-22 11:08 panchanggui 阅读(4397) 评论(0) 推荐(0) 编辑 |

摘要:SpringBoot 自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConfigurationProperties 或者 @ConfigurationProperties 等几个注解来进行自动配置完成的。@EnableAutoConf 阅读全文

posted @ 2019-04-22 09:41 panchanggui 阅读(270) 评论(0) 推荐(0) 编辑 |

摘要:但 Spring Boot 提供了另一种方式 ,能够根据类型校验和管理application中的bean。 这里会介绍如何使用@ConfigurationProperties。继续使用mail做例子。配置放在mail.properties文件中。属性必须命名规范才能绑定成功。举例:1 protoco 阅读全文

posted @ 2019-04-22 09:40 panchanggui 阅读(977) 评论(0) 推荐(0) 编辑 |

摘要:@ConfigurationProperties给属性映射值编写JavaBean/** 将配置文件application.properties中配置的每一个属性值映射到当前类的属性中;* @ConfigurationProperties:告诉springboot将本类中所有属性和配置文件中相关的配置 阅读全文

posted @ 2019-04-17 09:54 panchanggui 阅读(804) 评论(0) 推荐(0) 编辑 |

摘要:@Component注解表明是组件,可被自动发现,@ConfigurationProperties注解之前是location属性表明配置文件位置,prefix表示读取的配置信息的前缀,但新版本中废除了location属性(网上说是1.5.2之后),故只写前缀,默认读取application.yml中 阅读全文

posted @ 2019-04-17 09:42 panchanggui 阅读(2186) 评论(0) 推荐(0) 编辑 |

摘要:springboot 参数配置 阅读全文

posted @ 2019-04-15 16:19 panchanggui 阅读(594) 评论(0) 推荐(0) 编辑 |

摘要:异常:This application has no explicit mapping for /error, so you are seeing this as a fallback. 出现这个异常说明了跳转页面的url无对应的值. 原因1: Application启动类的位置不对.要将Appli 阅读全文

posted @ 2018-11-12 11:02 panchanggui 阅读(74654) 评论(0) 推荐(2) 编辑 |

posts - 633, comments - 19, trackbacks - 0, articles - 0

Copyright © 2020 panchanggui
Powered by .NET 5.0.0-rc.2.20475.5 on Kubernetes