栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot2个人学习笔记02

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot2个人学习笔记02

@import 单个(url)多个({a,b})如启动类(@SpringBootApplication (scanBasePackages=url))引入配置类(@Configuration(proxyBeanMethods=true))

如果配置类在启动类的url包目录下则默认把配置类包含在启动类中,但如果不在则需要使用@import注解引入该配置类

conditional注解及衍生注解

@ConditionalOnBean(name="容器名") 

 这里可以用@ConditionlOnBean查出同一配置类中不同方法上的@Bean是按顺序依次创建容器的

但在方法上同时有@Bean和@ConditionalOnBean时@ConditionalOnBean的优先级高于@Bean

但不影响同类下的@Bean的创建顺序

在类上时@ConditionalOnBean的优先级大于内部的所有@Bean优先级

但是不同类之间他们的实例化顺序一般是按照包扫描的先后初始化的但我们可以根据以下三种方法来解决

构造方法依赖

来决定他的实例化先后但有趣的是@Bean的容器创建先后还是不会变

如下:没依赖前根据包扫描先后MyConfig的实例化先于YouConfig,并且全实例化创建完配置类容器后才创建@Bean容器

 构造方法依赖后:myConfig依赖youConfig后

 

由此可以看出youConfig 实例化创建容器先于myConfig了但@Bean的容器创建先后并不会变更

但这也可以解决一些开发中的问题,但不可用于循环依赖中如:myConfig依赖youConfig  youConfig 自动注入myConfig时这会启动失败

@DependsOn注解

@DependsOn可以完美解决循环依赖的问题

但同样的问题是依然不能解决@Bean容器的创建先后,要解决我目前已知自由@Bean A依赖 @Bean B 时才可以解决创建先后顺序(有更好的方法后续会更新此处内容)

BeanPostProcessor 手动控制

过于繁琐价绍,有兴趣自己去了解

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017492.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号