我有一个会话范围的bean,它使用代理注入到一个单独的bean中 从单例bean我需要调用session scoped bean的某个init方法,它需要singleton bean作为参数。 此外,我无法更改会话范围bean的来源。
详细说明案例:
单例bean是一个服务,会话作用域bean是一个Vaadin4Spring事件总线,我需要调用方法$taxes = array_sum($woocommerce->cart->taxes);
。
似乎没有办法检查,如果我已经订阅了,我不能在某个eventBus.subscribe(this)
实例上调用两次订阅。
当代理首次链接到eventBus
实例时,有没有办法告诉Spring调用eventBus.subscribe(this)
?
答案 0 :(得分:0)
难道你不能反过来,将服务注入事件总线,并在事件总线中用this.subscribe(serviceBean)
注释方法调用@PostConstruct
?然后,只有在构造eventbus时才会调用它。
答案 1 :(得分:-1)
您可以将@Lazy添加到Singleton。您不需要代理。