【发布时间】:2018-08-13 21:16:52
【问题描述】:
目前我正在处理遗留的 Hybris 项目。我们在 Java 7 中使用 Hybris 4.8 和 Srping 3。
有一个工厂类执行一些逻辑以实例化另一个 bean。问题是这个工厂 bean 在启动期间与 Spring 上下文中的其他 bean 和数据库进行交互,并且 Spring 似乎无法正确解析所有依赖项。所以我们在启动过程中遇到了死锁。
为了避免这个问题,这个特定的 bean 可以在所有其他 bean 被初始化之后(甚至在服务器启动之后)创建。我如何在 hybris 中做这种事情?
我知道整个架构概念看起来有点奇怪,但它是一个遗留项目,必须尽快找到解决方案,并且改动最少
【问题讨论】:
-
1.创建一个实现
ApplicationListener并监听ContextRefreshedEvent事件的bean 类。 2、实现该类的onApplicationEvent方法,执行需要的逻辑,例如MyFactory factory = new MyFactory(); context.getAutowireCapableBeanFactory().autowireBean(factory);。
标签: spring dependency-injection hybris spring-3