有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Bean-Spring的java动态初始化


我很难找到一个好的解决方案来创建必须延迟初始化的bean。 我的情况是,我必须推迟创建bean,这样我的微服务才能启动,并在启动完成后创建它们——对于好奇的bean,我使用vertX verticle作为微服务。

到目前为止,我通过@Lazy注释与启动相关的bean,并在成功启动后使用getBean方法调用它们来解决这个问题

例如,将eventBus作为参数传递,该参数只能在成功启动microservice后创建,因为此bean需要它

(CrudRepository<Installation>) ctx.getBean("installationCrudRepository", eventBus);

我还必须延迟所有依赖于懒惰bean的bean的初始化,方法是用@lazy注释它们,然后用getBean调用它们,这不是一个好看的解决方案。 这种方法是可行的,但它肯定不是一个好的设计,intellIj也不喜欢它

我找不到这个问题的解决方案,也许有一种方法可以手动创建一个Bean,并在提供Bean后使其他Bean初始化

致以最良好的祝愿, 迈克尔


共 (0) 个答案