博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【SpringBoot】ApplicationContextInitializer接口
阅读量:4291 次
发布时间:2019-05-27

本文共 642 字,大约阅读时间需要 2 分钟。

一。接口和实现类

ApplicationContextInitializer接口类

方法  void initialize(C applicationContext)

   接受一个ConfigurableApplicationContext参数,方法中通常对上下文进行一些配置

实现类:

ContextIdApplicationContextInitializer类:设置 上下文 的id

DelegatingApplicationContextInitializer类:从环境中取出所有的 ApplicationContextInitializer 并执行

ServletContextApplicationContextInitializer类:设置上下文的 servletContext

...

二。SpringBoot中SpringApplication类默认的ApplicationContextInitializer

通过对 # getSpringFactoriesInstances(Class<T> type, Class<?>[] parameterTypes, Object... args) 分析

获取spring.factories 属性文件中的key为ApplicationContextInitializer的类,并实例化,保存到SpringApplication实例中  initializers局部变量中。

在doRun方法中对部分实例进行调用(泛型参数筛选)

你可能感兴趣的文章
基本的数据类型分析----java.lang.Number类及其子类分析
查看>>
这可能是目前最全的Redis高可用技术解决方案总结
查看>>
基于Zuul、Redis和REST API实现动态路由的持久化及容错能力
查看>>
CentOS快速安装docker服务
查看>>
MySQL DBA工作突围的一个入口-慢日志(一)
查看>>
技术梳理:史上 69 道最全面试题和答案,助你搞透Spring 框架
查看>>
阿里P8架构师谈:高并发与多线程的关系、区别、以及高并发的系统解决方案
查看>>
Java性能优化之字符串优化处理
查看>>
深入浅出Nginx
查看>>
MySQL 千万级的大表要怎么优化(读写分离、水平拆分、垂直拆分)
查看>>
还有人不懂分布式锁的实现就把这篇文章丢给他
查看>>
Spring Cloud Finchley版中Consul多实例注册的问题处理
查看>>
MySQL8主从复制技术
查看>>
Java集合之Vector
查看>>
阿里的程序员们如何解决复杂数据的查询优化问题?|技术头条
查看>>
Spring Boot中整合Sharding-JDBC单库分表示例 (第二篇)
查看>>
Spring Boot中整合Sharding-JDBC读写分离示例 (第一篇)
查看>>
MYSQL索引与查询优化
查看>>
Spring Cloud微服务版本灰度发布新神器
查看>>
spring(二) AOP之AspectJ框架的使用
查看>>