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