springboot里bean的注入顺序是什么?

这是一个业务逻辑类,其中使用到了application.yml文件中的属性(如图queueNum)
clipboard.png
这是application.yml文件中的配置
clipboard.png

我期望这个springboot应用运行时输出“maxCost = 5”,然而实际上输出的是“maxCost = 0”,我想这可能是由于bean的实例化、注入顺序不同导致的,但是我并没有找到相关代码,请问有人知道原因吗?我该怎么解决这个问题?

阅读 5.4k
2 个回答

@Value@Autowired 属于 setter 注入,Spring 在装备 Bean 的时候,先创建对象(执行构造方法),再执行 setter 注入。

解决了,如图,使用@PostConstruct即可

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题