Spring中如何控制bean的初始化顺序详解
摘要:假设A,B两个 bean 都需要在初始化的时候从本地磁盘读取文件,其中B加载的文件,依赖A中加载的全局配置文件中配置的路径,所以需要A先于B初始化,此外A中的配置改变后也需要触发B的重新加载逻辑,所以A,B需要注入彼此。 1. 业务中判断和控制bean初始化顺序 我们可以在业务层自己控制A,B的初始
阅读全文
posted @
2021-06-08 18:54
乡野少年
阅读(3494)
推荐(1)
SpringBoot中使用ContextLoader.getCurrentWebApplicationContext() 获取WebApplicationContext为null的问题
摘要:获取不到的原因:springboot无论以main方法还是spring-boot:run的方式执行都不会跑SpringBootServletInitializer中的onStartup导致ContextLoaderListener没有执行。 考虑到以往的经验ContextLoaderListener
阅读全文
posted @
2021-06-08 18:02
乡野少年
阅读(3220)
推荐(0)
SpringBoot 获取上下文,获取bean的几种中方式
摘要:传统Spring项目 在写传统的spring项目中,一般通过初始化抽象类AbstractXmlApplicationContext 的实现类,并传入spring.xml,来获取应用上下文,最终通过getBean方法获取bean,如下: ApplicationContext app1 = new Fi
阅读全文
posted @
2021-06-08 17:43
乡野少年
阅读(20023)
推荐(1)
java动态代理
摘要:基本介绍 基本分类 Spring的应用Spring的应用 优缺点优缺点
阅读全文
posted @
2021-05-19 19:06
乡野少年
阅读(49)
推荐(0)
spring启动流程中,可以扩展的类与接口
摘要:本文转载于:https://www.cnblogs.com/bryan31/p/13346588.html 1.背景 Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上
阅读全文
posted @
2021-05-19 19:00
乡野少年
阅读(553)
推荐(0)
spring实例化bean的源码解析
摘要:类:org.springframework.beans.factory.support.AbstractBeanFactory doGetBean() ↓ getSingleton() 部分源码如下: // Create bean instance. if (mbd.isSingleton()) {
阅读全文
posted @
2021-05-19 16:02
乡野少年
阅读(148)
推荐(0)
spring中Bean的初始化顺序
摘要:1.构造程序或者工厂方法创建Bean实例 2.为Bean属性设置值和Bean引用 3.调用感知接口中定义的设置方法 4.将Bean实例传递给每个Bean后处理器中的postProcessBeforeInitialization()方法 5.调用初始化回调方法 6.将Bean实例传递给每个Bean后处
阅读全文
posted @
2021-05-18 18:19
乡野少年
阅读(568)
推荐(0)
spring 中 的 AbstractApplicationContext.refresh()方法源码解析
摘要:话不多说直接上代码 @Override public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { StartupStep cont
阅读全文
posted @
2021-05-18 18:11
乡野少年
阅读(170)
推荐(0)
spring 如何利用三级缓存解决循环依赖
摘要:在java后端服务之间调用时,很容易产生循环依赖,对于spring内部是如何解决循环依赖的,简言之,spring采用缓存机制来解决(三级缓存)。 缓存介绍 名称 描述 级别 singletonObjects 初始化完成的单例对象缓存 一级缓存 earlySingletonObjects 提前曝光的单
阅读全文
posted @
2021-05-17 19:56
乡野少年
阅读(517)
推荐(0)
常备知识
摘要:综合基础 ArrayList,HashMap,TreeMap源码 spi 技术 java 反射 java实例化类的4种方式 java动态代理 java注解 双亲委派,类加载器 jvm内存模型 jvm垃圾回收 jvm中断进程快照恢复(safepoint) 弱引用 mysql索引的知识 java队列和栈
阅读全文
posted @
2021-04-29 10:42
乡野少年
阅读(83)
推荐(0)