随笔分类 -  SpringBoot

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