小编rya*_*yan的帖子

每次事件发生时都会调用@PostConstruct

我在Java SE应用程序中使用CDI(Weld).我做了一个Bean让我们称之为BeanA.

public class BeanA {
    @PostConstruct
    public void init() {
        System.out.println("INIT");
    }

    public void receive(@Observes String test) {
        System.out.println("received: " + test);
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的测试方法中,我调用:

Weld weld = new Weld();
WeldContainer container = weld.initialize();
Instance<BeanA> instance = container.instance().select(BeanA.class);
BeanA bean = instance.get();

container.event().fire("TEST");
container.event().fire("TEST");
container.event().fire("TEST");
container.event().fire("TEST");
Run Code Online (Sandbox Code Playgroud)

为什么输出是这样的?为什么每次收到事件都会调用@PostConstruct?:

INIT
INIT
recived:TEST
INIT
recived:TEST
INIT
recived:TEST
INIT
recived:TEST

java cdi

0
推荐指数
1
解决办法
506
查看次数

标签 统计

cdi ×1

java ×1