spring boot
文章平均质量分 92
hry2015
这个作者很懒,什么都没留下…
展开
-
Redis系列三 - Spring boot如何使用redis做缓存及缓存注解的用法总结
本文介绍Spring boot 如何使用redis做缓存,如何对redis缓存进行定制化配置(如key的有效期)以及spring boot 如何初始化redis做缓存。使用具体的代码介绍了@Cacheable,@CacheEvict,@CachePut,@CacheConfig等注解及其属性的用法。原创 2017-07-19 22:20:47 · 40266 阅读 · 9 评论 -
Spring Boot系列十三 Spring Boot集成RabbitMQ
1. 概述之前我有一系列关于RabbitMQ文章介绍了RabbitMQ的用法,本篇我们介绍如何在Spring Boot中集成RabbitMQ。本篇主要内容如下:在Spring boot中消息的发送和接收的两种方式的demo配置使用MessageConverter对消息序列化2. Demo工程公共部分介绍工程名称:rabbitmq需要在我们的工程中的pom.xml引入新jar <!-- spri原创 2018-03-13 20:17:54 · 11732 阅读 · 0 评论 -
Spring Boot系列五 Spring @Value 属性注入使用总结二
1. @Value注入二在上一篇文章中Spring @Value 属性注入使用总结一我们介绍了@Value的常用方式。看完文章你可能迷惑#{..}和${}有什么区别以及如何使用。这篇文章,我们尝试解决这个问题1.1 前提测试属性文件:advance_value_inject.propertiesserver.name=server1,server2,server3#spelDefault.valu原创 2017-05-17 22:37:40 · 25228 阅读 · 5 评论 -
Spring Boot系列十六 WebSocket简介和spring boot集成简单消息代理
1. 概述本文介绍webSocket相关的内容,主要有如下内容:WebSocket的诞生的背景、运行机制和抓包分析WebSocket 的应用场景、服务端和浏览器的版本要求Spring 内嵌的简单消息代理 和 消息流程图在Spring boot中集成websocket,并介绍stomp、sockjs的用法介绍拦截器HandshakeInterceptor和ChannelInterceptor原创 2018-04-05 23:06:22 · 29356 阅读 · 5 评论 -
Spring Boot系列十七 Spring Boot 集成 websocket,使用RabbitMQ做为消息代理
1. 概述在上篇文章Spring Boot系列十六 WebSocket简介和spring boot集成简单消息代理中我们使用的消息代理是spring内置的简单消息代理,简单消息代理非常适合入门,但是只支持STOMP命令的子集(如不支持acks, receipts),依赖于消息发送循环,并且不支持集群。我们可以使用外部的消息代理(如RabbitMQ, ActiveMQ),来实现全功能消息代理。本文以集原创 2018-04-07 00:37:21 · 17511 阅读 · 12 评论 -
Spring Boot系列十八 Spring AOP + 注解实现统一注解
概述在系统操作,当我们做了一些重要的操作时,如登陆系统,添加用户,删除用户等操作时,我们需要将这些行为持久化。本文我们通过Spring AOP和Java的自定义注解来日志的插入。此方案对原有业务入侵较低,实现较灵活日志的相关类定义我们将日志抽象为以下两个类:功能模块和操作类型: 使用枚举类定义功能模块类型ModuleType,如学生、用户模块public enum Mod...原创 2018-05-08 20:14:22 · 5988 阅读 · 3 评论 -
Spring Boot系列十九 Spring boot集成 swagger
Swagger简述Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步Spring Boot集成Swagger本文涉及的工...原创 2018-06-07 20:18:44 · 4573 阅读 · 0 评论 -
Spring Boot系列20 Spring Websocket实现向指定的用户发送消息
概述不同上文Spring Boot系列十七 Spring Boot 集成 websocket,使用RabbitMQ做为消息代理,本文我们介绍通过Spring websocket实现向特定的用户发送消息。 本文的内容如下: 1. 首先实现简单的登录功能,这里向特定用户发送消息的必要条件 2. 用户登录系统后,才可以登录websocket,并重写MyPrincipal...原创 2018-07-19 22:22:55 · 11360 阅读 · 4 评论 -
Spring Boot系列21 Spring Websocket实现websocket集群方案讨论
概述本文对websocket集群的方案进行讨论:实现websocket集群。通过webscoket实现前端实时接收服务推送的信息的功能; 将指定的消息推送到指定的用户webscoket集群方案集群方案分析在上个博文Spring Boot系列20 Spring Websocket实现向指定的用户发送消息中实现向指定用户发送消息的功能,但是我们将提供websock...原创 2018-07-26 20:11:19 · 25838 阅读 · 13 评论 -
Spring Boot系列22 Spring Websocket实现websocket集群方案的Demo
Spring Boot系列20 Spring Websocket实现向指定的用户发送消息## 概述 上一篇文章Spring Boot系列21 Spring Websocket实现websocket集群方案讨论里详细介绍了WebSocket集群的有三种方案,并得出结论第三个方案是最好的,本文我们实现第三个方案工程工程名称: 本文在Spring Boot系列20 Spring Websoc...原创 2018-07-30 20:20:23 · 14518 阅读 · 15 评论 -
Spring cloud系列十九 Spring Cloud G版本集成oAuth2.0
由于项目的关系,系统需要集成oAuth2.0功能实现自定义功能:1. OAuth2.0中定义四种授权模式对应的类及其他一些重要的类2. 实现自定义客户端账户(不是用户的账户)3. 实现自定义用户账号4. 将accesstoken存储到redis中原创 2019-07-16 23:50:48 · 2973 阅读 · 0 评论 -
问题备忘:Spring Cloud OAuth2.0 开发过程中碰到的问题
Spring Cloud OAuth2.0 开发过程中碰到的问题:1.Spring Security – There is no PasswordEncoder mapped for the id “null”2. 调用接口/com-oauth/oauth/check_token失败3.问题3: 在使用密码模式时,抛出异常:o.s.s.o.provider.endpoint.TokenEndpoint : Handling error: UnsupportedGrantTypeException,原创 2019-07-17 23:11:55 · 6741 阅读 · 0 评论 -
Spring cloud系列20 OAuth2.0的实现客户端模式(client_credentials)支持refesh code
默认情况下OAuth2.0 客户端模式(client_credentials)不支持refresh code。现在由于业务的关系,需要支持refresh code。 在Spring OAuth2.0中 client_credentials模式对应的类是ClientCredentialsTokenGranter 在此类中有个变量可以控制是否返回refreshcode,此成员变量是allowRefresh,默认值为false。在此类的在grant()方法中,如果allowRefresh=false,则会将原创 2019-07-17 23:27:46 · 7823 阅读 · 1 评论 -
Spring Boot系列十五 spring boot集成RabbitMQ 源码分析
1. 概述在这篇文章Spring Boot系列十三 Spring Boot集成RabbitMQ中,我们介绍了在Spring Boot如何使用RabbitMQ,本篇文章中,从源码中分析Spring Boot如何集成RabbitMQ。2. 入口在spring-boot-autoconfigure.jar中的spring.factories中有如下定义,表示spring启动时,会执行RabbitAutoC原创 2018-03-18 11:32:47 · 9637 阅读 · 4 评论 -
Spring Boot系列十四 Spring boot使用spring validation实现对Restful请求的数据进行校验
1. 概述本文介绍在Spring Boot中实现对请求的数据进行校验。数据校验常用到概念:JSR303/JSR-3491. 演示spring boot validation + 异常捕获机制实现数据自动校验功能2. 自定义校验注解,并演示这个用法原创 2018-03-15 19:57:19 · 13899 阅读 · 5 评论 -
Spring Boot系列十二 通过redis实现Tomcat集群的Session同步及从源码分析其原理
概述在tomcat等web容器中,session是保存在本机内存中。如果我们对tomcat做集群,不可避免要涉及到session同步的问题,必须保证同一个集群中的tomcat的session是共享的。本文通过Spring boot实现分布式系统Session同步,主要包括如下内容:详细介绍demo实现从源码的角度分析其实现原理多个tocmat的Session的管理。在tomcat等web容器中原创 2018-02-01 19:52:04 · 2557 阅读 · 0 评论 -
Spring Boot系列六 Spring boot集成mybatis、分页插件pagehelper
1. Spring Boot集成mybatis2. Spring Boot集成pagehelper分页插件,定义分页的相关类3. 实现工具类:model转dto,实现数据层和传输层的解耦4. 完整展示了从浏览器输入URL,并从数据库操作数据的完整流程原创 2017-09-17 15:27:21 · 13879 阅读 · 1 评论 -
Spring Boot系列一 spring boot 集成 slf4j 和 logback
spring boot集成logback,slf4j原创 2017-02-26 13:13:35 · 6230 阅读 · 1 评论 -
Spring Boot系列三 Spring @EnableScheduling 定时任务用法总结
原理TaskSchedulerTaskScheduler是spring的定时任务使用的线程池的关键类public interface TaskScheduler { // 通过Trigger执行任务 ScheduledFuture schedule(Runnable task, Trigger trigger);// 指定时间执行任务 ScheduledFut原创 2017-04-06 19:46:47 · 14224 阅读 · 0 评论 -
Spring Boot系列四 Spring @Value 属性注入使用总结一
@Value注入不通过配置文件的注入属性的情况通过@Value将外部的值动态注入到Bean中,使用的情况有:注入普通字符串注入操作系统属性注入表达式结果注入其他Bean属性:注入beanInject对象的属性another注入文件资源注入URL资源详细代码见: @Value("normal") private String normal; // 注入普通字符串 @V原创 2017-05-16 22:29:55 · 123096 阅读 · 1 评论 -
Spring Boot系列二 Spring @Async异步线程池用法总结
Spring异步线程池的接口类, @Async, @AsyncUncaughtExceptionHandler ,@EnableAsync原创 2017-03-28 19:16:48 · 143632 阅读 · 23 评论 -
Spring Boot系列七 实现自己的spring boot starter工程
spring boot starter工程对于使用者是非常方便的,使用者通常只要在pom.xml引入starter的jar,则此工程依赖的类,就全部自动引入。因此我们常用的开源组件都会提供一个start工程给开发者,让开发者非常方便集成本组件到spring中。本文通过自己实现一个简单的demo,详细说明了如何实现一个自己的spring boot starter工程。原创 2017-09-28 19:58:25 · 8769 阅读 · 1 评论 -
Spring Boot系列八 spring boot集成jsp、restful接口、springmvc基本功能
本文介绍spring boot里的spring mvc部分的用法,主要包括如下:- 1 实现 spring boot 集成jsp: @Controller+ @RequestMapping- 2 模拟登录功能: ModelAndView- 3 spring boot 实现restful接口:@RestController原创 2017-11-06 22:00:21 · 2604 阅读 · 0 评论 -
Spring cloud系列四 Eureka 之概述和服务注册中心集群
对Eureka进行简单介绍,对其配置参数进行说明,最后介绍如何配置Eureka Sever做集群,提高可用性原创 2017-10-12 22:28:10 · 2360 阅读 · 0 评论 -
Spring Boot系列九 spring mvc的@RequestMapping支持的方法参数类型和返回类型
本文介绍了spring mvc中使用@RequestMapping时, 常用的方法参数类型有:- 1 PathVariable- 2 RequestParam- 3 RequestBody- 4 HttpEntity- 5 CookieValue- 6 RequestHeader- 7 自动封装form表单请求到对象中- 8 HttpServletRequest HttpServletRespons原创 2017-11-12 18:03:31 · 9717 阅读 · 0 评论 -
Spring Boot系列十 Spring MVC全局异常处理总结
1. 概述SpringMVC 提供的异常处理主要有两种方式:一种是直接实现自己的HandlerExceptionResolver一种是使用注解通过注解的方式实现处理异常主要有以下两种方式:1 @ControllerAdvice+@ExceptionHandler:配置对全局异常进行处理2 @Controller + @ExceptionHandler:配置对当前所在Controller的异原创 2017-12-20 11:42:07 · 8794 阅读 · 0 评论 -
Spring Boot系列十一 从源码的角度理解Spring MVC异常处理原理
本文从源码角度理解Spring MVC异常处理原理,主要包括如下内容:- HandlerExceptionResolver以及常用实现类,理解默认实现HandlerExceptionResolver的用处和源码解读- Ordered接口及如何自定义HandlerExceptionResolver- Spring MVC 异常处理HandlerExceptionResolver对象初始化和处理流程的源码解读原创 2018-01-03 09:43:12 · 1680 阅读 · 0 评论 -
Spring cloud系列20 实现服务优雅上下线
在使用Spring Cloud微服务的过程中,必然会碰到微服务因为版本升级而重启。如果只是使用kill命令结束服务进程,则依赖此服务的客户端服务不会立即知道目标服务已经下线,仍然会调用目标服务借口,会因为访问失败会抛出异常,为了避免这个情况,我们希望实现服务升级对用户是无感知的如何解决问题首先我们搜索网络,发现这篇文章实用技巧:Spring Cloud中,如何优雅下线微服务?,但是这篇文章的方...原创 2019-08-22 20:02:40 · 2870 阅读 · 1 评论