Java面试篇——SpringBoot常见面试题(二)(共两篇)
目录
2、springboot实现自动配置redis案例:
3、springboot的启动流程:
4、springboot加载并处理所有的配置类的流程:
5、springboot加载配置类的方式:
6、springboot自动配置原理:
1、什么是SpringBoot的自动装配和自动配置?
自动配置:Auto-Configuration,针对的是SpringBoot中的配置类
自动装配:Autowire,针对的是Spring中的依赖注入
2、springboot实现自动配置redis案例:
如图,全程我们只通过maven引入redis的starter依赖,然后配置一下redis服务器的连接信息,最后我们就可以直接使用redisTemplate等Bean对象了。这就是SpringBoot自动完成了redis的配置,将相关的Bean对象注册到IOC容器中了。
3、springboot的启动流程:
4、springboot加载并处理所有的配置类的流程:
5、springboot加载配置类的方式:
6、springboot自动配置原理:
位于META_INF目录下的spring.factories,存放相关组件的配置工厂类;@EnableAutoConfiguration核心配置注解,里面有一个AutoConfigurationImportSelector(自动配置文件收集器),收集配置文件中的配置工厂类,然后SpringFactoriesLoader加载组件工厂(抽象工厂模式),进行实例化,在spring上下文中,生成bean。
@EnableAutoConfiguration核心配置注解,里面有一个AutoConfigurationImportSelector(自动配置文件收集器),收集配置文件中的配置工厂类,然后通过springfactories机制加载配置文件,然后在所有的配置文件META_INF/spring.factories中,筛选出以EnableAutoConfiguration.class为key的、符合条件的配置类,最后根据注解@Conditional过滤掉不必要的自动配置类。
真好啊又活了一天: 这个如果重启命令应该是什么,我看有的写的systemctl restart redis,但是我执行这个报错什么原因
m0_75002757: 删哪个啊?注册表都删了?
JJJ69: 写得不错,对我有帮助
天蓝999: 这文章可以。我看的另一篇,面试时90%以上的题目都在下边这个文章里:https://knife.blog.csdn.net/article/details/121219272
weixin_73412616: 我有一个mysqld service可以删嘛