随笔分类 -  spring boot

摘要:多数据源配置 创建一个Spring配置类,定义两个DataSource用来读取application.properties中的不同配置。如下例子中,主数据源配置为spring.datasource.primary开头的配置,第二数据源配置为spring.datasource.secondary开头的 阅读全文
posted @ 2020-08-01 16:12 soft.push("zzq") 阅读(227) 评论(0) 推荐(0)
摘要:说到spring自动装配的bean大伙都比较了解,@Autowired不就完了么。哈哈,今天我在review的时候发现了这个问题,小伙伴看下代码: @Bean public List<PlatformCheck> platformCheckList() { Map<String, PlatformC 阅读全文
posted @ 2020-06-23 16:59 soft.push("zzq") 阅读(159) 评论(0) 推荐(0)
摘要:gateway重构 背景 当前需要把统一鉴权的业务流程提取到网关,做统一的认证,这样各个服务不在使用spring mvc在拦截器中进行处理。虽然以往的项目中基于servlet提取了公共的组件,但每次升级,各个服务都需要升级jar包,而且鉴权类的工作细化到具体服务确实不恰当。 服务流程设计 首先一个请 阅读全文
posted @ 2020-06-19 13:27 soft.push("zzq") 阅读(2133) 评论(0) 推荐(0)
摘要:翻看了gateway中的控制RouteDefinition的累如下: public class InMemoryRouteDefinitionRepository implements RouteDefinitionRepository { private final Map<String, Rou 阅读全文
posted @ 2020-05-28 17:55 soft.push("zzq") 阅读(548) 评论(0) 推荐(0)
摘要:@ConditionalOnBean(仅仅在当前上下文中存在某个对象时,才会实例化一个Bean)@ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)@ConditionalOnExpression(当表达式为true的时候,才会实例化一个Bean)@Condi 阅读全文
posted @ 2020-05-28 17:42 soft.push("zzq") 阅读(119) 评论(0) 推荐(0)
摘要:List<Integer> l1 = new ArrayList() { { add(1); add(2); add(3); } }; List<Integer> l2 = new ArrayList() { { add(10); add(20); add(30); } }; Mono<List<I 阅读全文
posted @ 2020-05-27 11:13 soft.push("zzq") 阅读(253) 评论(0) 推荐(0)
摘要:public class ResponseBodyModifyGlobalFilter implements GlobalFilter, Ordered { @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayF 阅读全文
posted @ 2020-05-25 17:05 soft.push("zzq") 阅读(2144) 评论(0) 推荐(0)
摘要:一、 网关种类 流量型网关和业务型网关,也是自己的一个理解,流量型网关可以通常看成是nginx,kong这种更加专注于高性能进行流量分发,业务相对简单,但是对于“复杂”型业务网关,尤其系统实现使用的是java,那么使用openresty这种无疑是加大了研发成本,而且不利于调试和定位问题,毕竟需要通过 阅读全文
posted @ 2020-05-25 16:08 soft.push("zzq") 阅读(1682) 评论(0) 推荐(0)
摘要:@Component public class RequestBodyAddCacheGlobalFilter implements GlobalFilter, Ordered { @Autowired ApplicationEventPublisher applicationEventPublis 阅读全文
posted @ 2020-05-23 21:59 soft.push("zzq") 阅读(1680) 评论(0) 推荐(0)
摘要:网关被扫描后会注册四个核心配置类,当然在配置类中仍然有各种流程中需要的bean后面会详细解释。 l GatewayAutoConfiguration 网关基础配置类,当中承载着核心的配置逻辑 l GatewayClassPathWarningAutoConfiguration 网关类加载配置类,就是 阅读全文
posted @ 2020-05-12 10:47 soft.push("zzq") 阅读(4895) 评论(0) 推荐(0)
摘要:springmvc默认情况下在dispatchServlet的静态代码块中初始化方法init中初始化两个map对象: (1)我们如果使用继承了controller接口的方式,那在spring mvc存储的对象为key:url地址,value:controller对象;这对元素会初始化到BeanNam 阅读全文
posted @ 2020-01-31 21:38 soft.push("zzq") 阅读(119) 评论(0) 推荐(0)
摘要:@Configration加与不加有什么区别? 加了这个注解以后会在spring中标识了Full属性,如果不标记的话会标记为lite,不过该类会继续解析@ComponentScan和@Implort等。 有个Full标记以后,就会根据当前这个类生成CGLib代理对象,返回的也是代理对象。 而且对于该 阅读全文
posted @ 2020-01-06 17:41 soft.push("zzq") 阅读(195) 评论(0) 推荐(0)
摘要:第一阶段: 1 准备阶段根据BeanDefintionReader去初始化Bean的定义,那么在bean的定义中通常有两种一个是注解Bean定义读取器(AnnotationBeanDefinitionReader),一个是xmlBean定义读取器。 BeanDefinition是spring中Bea 阅读全文
posted @ 2020-01-04 12:42 soft.push("zzq") 阅读(276) 评论(0) 推荐(0)
摘要:说起spring bean的初始化自然而然就离不开初始化阶段的循环引用;1 首先spring容器在启动后会创建一个beanFactory,new DefaultListableBeanFactory。 2 然后在spring容器启动过程中会调用核心的refresh方法,在这个方法中共调用了9个方法, 阅读全文
posted @ 2019-12-05 11:39 soft.push("zzq") 阅读(310) 评论(0) 推荐(0)
摘要:循环引用属性操作: 1)AbstractAutowireCapableBeanFactory类中的allowCircularReferences被设置为了false。 2)代码: AnnotationConfigApplicationContext a = new AnnotationConfigA 阅读全文
posted @ 2019-12-03 20:03 soft.push("zzq") 阅读(860) 评论(0) 推荐(0)
摘要:动态数据源 1.背景 动态数据源在实际的业务场景下需求很多,而且想要沟通多数据库确实需要封装这种工具,针对于bi工具可能涉及到从不同的业务库或者数据仓库中获取数据,动态数据源就更加有意义。 2.依赖 3.多数据源原理解析 ① 在应用程序启动的时候初始化默认数据源,并将默认数据源注册到spring上下 阅读全文
posted @ 2017-09-30 14:23 soft.push("zzq") 阅读(969) 评论(0) 推荐(0)
摘要:使用maven做项目管理时,在pom.xml中配置如下节点: 这时自动部署已经设置完成,但是项目生成并不是自动的,需要ctrl+F9这样就没问题了! 具体如何省略(ctrl+F9)手动生成项目请移步:http://blog.csdn.net/wjc475869/article/details/524 阅读全文
posted @ 2017-04-05 09:06 soft.push("zzq") 阅读(164) 评论(0) 推荐(0)