随笔分类 - SpringBoot
摘要:众所周知,request.getInputStream()只能调一次。如果希望在请求进入Controller之前统一打印请求参数(拦截器或过滤器),又不影响业务,我们只能将获取到的输入流缓存起来,后续都从缓存中获取即可。 首先,自定义一个ServletInputStream package com.
阅读全文
摘要:第一种方式: AbstractRoutingDataSource 1.1. 手动切换数据源 application.properties # Order # 如果用Druid作为数据源,应该用url属性,而不是jdbc-url spring.datasource.order.jdbc-url=jdb
阅读全文
摘要:Spring Boot 最大的特点(亮点)就是自动配置 AutoConfiguration 下面,先说一下 @EnableAutoConfiguration ,然后再看源代码,到底自动配置是怎么配置的 1. @EnableAutoConfiguration @SpringBootApplicatio
阅读全文
摘要:一切从SpringApplication.run()开始,最终返回一个ConfigurableApplicationContext 构造了一个SpringApplication对象,然后调用它的run方法。下面看下构造方法都做了什么 1、推断Web应用类型(WebApplicationType),本
阅读全文
摘要:Spring Boot 允许你从外部加载配置,这样的话,就可以在不同的环境中使用相同的代码。支持的外部配置源包括:Java属性文件、YAML文件、环境变量、命令行参数。 用@Value注解可以将属性值直接注入到beans中。命令行参数以 -- 开头 配置文件加载的顺序如下: Application
阅读全文
摘要:1. WebFlux介绍 Spring WebFlux 是 Spring Framework 5.0中引入的新的响应式web框架。与Spring MVC不同,它不需要Servlet API,是完全异步且非阻塞的,并且通过Reactor项目实现了Reactive Streams规范。 Spring W
阅读全文
摘要:1. 创建自己的Starter 一个完整的Spring Boot Starter可能包含以下组件: autoconfigure模块:包含自动配置的代码 starter模块:提供对autoconfigure模块的依赖,以及一些其它的依赖 (PS:如果你不需要区分这两个概念的话,也可以将自动配置代码模块
阅读全文
摘要:1. 引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程序连接到中间件,中间件帮我们做SQL分离;第二种是应用程序
阅读全文
摘要:续: 《Hystrix介绍》 《Hystrix是如何工作的》 《SpringCloud学习笔记(3)——Hystrix》 Hystrix使用 Spring Boot中使用Hystrix 1. Maven依赖 2. 使用@HystrixCommand注解 3. Hystrix配置 4. hystrix
阅读全文
摘要:接上一篇:《Hystrix介绍》 流程图 下面这幅图相当重要 稍微解释一下上面的流程: 1. 构造一个HystrixCommand或者HystrixObservableCommand对象 第一步是构造一个HystrixCommand或HystrixObservableCommand对象来表示对依赖项
阅读全文
摘要:Hystrix是什么 在分布式环境中,许多服务依赖项中的一些必然会失败。Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点、停止级联失败和提供回退选项来实现这一点,所有这些都可以提高系统的整体弹性。 Hystrix为了什么
阅读全文
摘要:如图,是一种通用的用户权限模型。一般情况下会有5张表,分别是:用户表,角色表,权限表,用户角色关系表,角色权限对应表。 一般,资源分配时是基于角色的(即,资源访问权限赋给角色,用户通过角色进而拥有权限);而访问资源的时候是基于资源权限去进行授权判断的。 Spring Security和Apache
阅读全文
摘要:当我们使用@Cacheable注解的时候会将返回的对象缓存起来,我们会发现默认缓存的值是二进制的,不方便查看,为此我们自定义序列化配置,改成JSON格式的 配置如下: pom.xml application.yml RedisConfig.java UserServiceImpl.java 反复看文
阅读全文
摘要:1、创建集群 http://kafka.apache.org/documentation/#quickstart 有一句我觉得特别重要: For Kafka, a single broker is just a cluster of size one. 1.1、命令行操作 1.2、图形化界面操作 除
阅读全文
摘要:1、集成MyBatis 1.1、引入maven依赖 1.2、生成Mapper 具体可以看MyBatis Generator官网 http://www.mybatis.org/generator/running/running.html 这里用maven方式 首先,创建一个配置文件 接着,引入mave
阅读全文
摘要:Spring Boot Validation
阅读全文

浙公网安备 33010602011771号