SpringBoot 进阶篇
1. SpringBoot 自动配置解析
1.1 需求:在 Spring 的 IOC 容器中有一个 User 的 Bean,现要求:导入 Jedis 坐标后,加载该 Bean,没导入,则不加载.
首先创建一个 User 类
复制代码
1.在入口类中
复制代码
总结:发现都可以访问到 user 对象,不需要任何条件限制,但是我们的要求是导入 jedis 后才可以加载。
1.2 加入 jedis 后,@Conditional 要配和 Condition 的实现类(ClassCondition)进行使用.
定义 ClassCondition,实现 Condition 接口类
复制代码
添加 UserConfig
复制代码
测试
复制代码
1.3 需求:将类的判断定义为动态的。判断哪个字节码文件存在可以动态指定
自定义条件注解类
复制代码
复制代码
测试 User 对象的创建
复制代码
总结:
1.ConditionalOnProperty:判断配置文件中是否有对应属性和值才初始化 Bean;
2.ConditionalOnClass:判断环境中是否有对应字节码文件才初始化 Bean;
3.ConditionalOnMissingBean:判断环境中没有对应 Bean 才初始化 Bean;
1.4 SpringBoot 自动配置-切换内置 web 服务器
==内置四种 web 服务器:==
1.Tomcat 2.Netty 3.Jetty 4.Undertow
复制代码
1.5 SpringBoot 自动配置-Enable 注解原理
复制代码
==springboot-enable 工程==
复制代码
评论