当前位置: 首页 > news >正文

非凡免费建网站平台网络架构方法

非凡免费建网站平台,网络架构方法,大连网站备案,昆山做网站好的还在问循环依赖嘛?SpringBoot已经禁掉了循环依赖! 首发2023-12-18 11:26yuan人生 如果现在面试时还有人问你循环依赖,你就这样怼他:循环依赖是一种代码质量低下的表现,springboot2.6之后的版本已经默认禁用了。 Spr…

还在问循环依赖嘛?SpringBoot已经禁掉了循环依赖!

首发2023-12-18 11:26·yuan人生

如果现在面试时还有人问你循环依赖,你就这样怼他:循环依赖是一种代码质量低下的表现,springboot2.6之后的版本已经默认禁用了。

Spring的bean管理一直是spring的核心。spring循环依赖也成了面试问的重点。但实际上,项目中存在Bean的循环依赖,是代码质量低下的表现。如果每个bean划分好功能、业务边界,就不会出现这种情况。很多开发者不去考虑这些,只是怎么方便怎么来,导致都寄希望于框架层来解决问题,造成了整个代码的设计越来越糟,最后用一些奇技淫巧来填补犯下的错误。

SpringBoot终于忍受不了这种滥用,从2.6版本开始默认禁用了循环依赖!如果你的项目里还存在循环依赖,SpringBoot将拒绝启动!

spring官方说明

验证代码:

pom.xml引入springboot2.6

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.0</version><relativePath/> 
</parent>

serviceA

@Service
public class ServiceA {@Resourceprivate ServiceB serviceB;
}

serviceB

@Service
public class ServiceB {@Resourceprivate ServiceA serviceA;
}

启动报错:

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.

2023-12-18 11:04:31.862 INFO 34320 --- [ main] o.e.l.MySpringApplicationRunListener : failed 2023-12-18T11:04:31.862

2023-12-18 11:04:31.882 ERROR 34320 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :

***************************

APPLICATION FAILED TO START

***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

┌─────┐

| serviceA

↑ ↓

| serviceB

└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

Disconnected from the target VM, address: '127.0.0.1:64568', transport: 'socket'

Process finished with exit code 1

从报错的信息可以看出,springboot完全没有割裂这种行为。你也可以在配置中开启循环依赖。

spring.main.allow-circular-references=true

spring可能考虑到旧项目的升级的问题,没有完全割裂。但是开发者自身应当知道这是一种代码质量低下的表现。并且就是2.6之前的版本也解决不了构造方法注入,或者开启原型模式下的循环依赖。这种低质量代码随着现在项目越来越复杂、工程越来越庞大,肯定是会被摒弃。

http://www.yayakq.cn/news/540614/

相关文章:

  • 网站建设 营销在线作图软件有哪些
  • 高端品牌网站建设兴田德润在哪儿天津网站建设电话咨询
  • 免飞网站北京公司网站
  • 微网站模板开发跳转短链接生成
  • 东莞哪里有做企业网站的网站建站商城
  • 荷塘网站建设软件开发主要是做什么
  • 合肥瑶海区网站建设价格discuz二次开发
  • 铜陵app网站做营销招聘信息青岛建设集团 招聘信息网站
  • 苏州网站建设 牛给视频做特效的网站
  • 北京如何建设网站百度网页版官网首页
  • 做网站简单最近一周新闻大事
  • 使用他人商标做网站搜索词网站建设梦幻创意
  • 网站建设会遇到哪些问题南昌网站搭建建设定制
  • 网站建设款属不属于无形资产wordpress 制作portfolio
  • 触屏网站meta标签怎么做网站架构图
  • 连云港公司网站建设和平苏州网站建设
  • 公益基金会网站开发的背景拓者设计吧官网案例
  • 有意义的网站山东网站建设培训
  • 六安哪家做网站好虫虫 wordpress 群发
  • 成品网站建站空间那个视频网站最好最全网址
  • 咸宁网站建设解决方案高级ppt模板免费下载
  • 江阴市建设局网站上海家装10强名单
  • 网站建设中的功能模块描述手机app软件怎么开发
  • 上行10m做网站服务网站主页设计代码
  • 网站开发维护合同书开源 网站开发框架
  • 做网站在阿里云买什么株洲房地产信息网
  • 广州专业做网站公司有哪些无锡seo
  • 长春网站制作公司网站建设服务费入
  • 淘宝商城网站建设个人可以做商城网站吗
  • 免费响应式模板网站模板新桥做网站