宝塔自助建站源码,淘宝客网站建设视频教程,南宁做网站建设,电商系统源码学习材料声明
黑马程序员黑马程序员SpringBoot3Vue3全套视频教程#xff0c;springbootvue企业级全栈开发从基础、实战到面试一套通关 经过了基础知识后端开发前端开发#xff0c;终于到了面试篇。
前置知识
1.ApplicationContextInitializer
首先#xff0c;SpringBoot…学习材料声明
黑马程序员黑马程序员SpringBoot3Vue3全套视频教程springbootvue企业级全栈开发从基础、实战到面试一套通关 经过了基础知识后端开发前端开发终于到了面试篇。
前置知识
1.ApplicationContextInitializer
首先SpringBoot在设计时提供了在不同运行阶段的多个扩展点让程序员能够按需进行修改。 ApplicationContextInitializer接口供程序员在IOC容器创建并执行之后对上下文环境进行操作例如运行环境属性注册。 具体的操作流程
编写实现类实现该接口重写initiate函数配置属性在配置文件中进行配置。具体操作见ppt 需要清楚实现类内如何进行配置依旧在程序运行后如何获取。 这里补充如何获取ppt里没有的
2.ApplicationListener 监听容器发布的事件允许程序员执行自己的代码完成事件驱动开发它可以监听容器初始化完成、初始化失败等事件。通常情况下可以使用监听器加载资源开启定时任务等。 也是一个扩展点。与上面的使用套路一样。只要创建事件触发了就会执行不需要额外的操作。
3.BeanFactory
Bean容器的根接口, 提供Bean对象的创建、配置、依赖注入等功能。 容器和工厂之间有委托关系。
4.BeanDefinition 用于描述Bean包括Bean的名称Bean的属性Bean的行为实现的接口添加的注解等等Spring中Bean在创建之前都需要封装成对应的BeanDefinition然后根据BeanDefinition进一步创建Bean对象。 5.BeanFactoryPostProcessor
Bean工厂后置处理器当BeanFactory准备好了后(Bean初始化之前)会调用该接口的postProcessBeanFactory方法经常用于新增BeanDefinition。可以依靠他来注入对象。
6.Aware
感知接口Spring提供的一种机制通过实现该接口重写方法可以感知Spring应用程序执行过程中的一些变化。Spring会判断当前的Bean有没有实现Aware接口如果实现了会在特定的时机回调接口对应的方法。
7.InitializingBean/DisposableBean
写在需要实例化的类里面。
8.BeanPostProcessor 面试题 1.SpringBoot的启动流程
new的部分 确认web应用。 加载initializer和Listener主启动类。 run部分 environment banner 总结 面试回答
2.IOC容器初始化流程 3.Bean的生命周期 4.Bean的循环依赖 通过配置解决循环依赖
5.SpringMVC的启动流程