如何在@PostConstruct 工作之前执行方法?
Posted
技术标签:
【中文标题】如何在@PostConstruct 工作之前执行方法?【英文标题】:How To Execute method before @PostConstruct work?? 【发布时间】:2018-11-08 06:44:30 【问题描述】:每当应用程序版本更新时,我都会尝试更新数据库架构。 有人说这不是一个好功能,但我想试试我是否使用它。
应用程序启动时我成功更新架构。
但是我必须更改架构更新的时间。并且介于Bean 对象 DI 完成之后和@PostConstruct
工作之前之间。
不可能,就在@PostConstruct
工作之前不管DI是否完成。
我该怎么做?
PS。与我正在制作的相比,我知道飞行路线具有类似的功能。但我想自己做类似的东西。
【问题讨论】:
我会用liquibase看看这个answer 【参考方案1】:当spring bean被初始化时,spring保证所有的属性都会被注入(通过构造函数注入、setter注入或字段注入)
所以首先spring调用bean的构造函数
然后(如果尚未设置字段)它会尝试注入字段
只有在那之后,它才会调用@PostConstruct
所以你应该可以通过 bean 的 post-construct 方法访问数据库。
【讨论】:
以上是关于如何在@PostConstruct 工作之前执行方法?的主要内容,如果未能解决你的问题,请参考以下文章