除了管理用户会话,Java SE / EE中的CDI是什么?

问题描述 投票:0回答:1

我了解CDI在JavaEE Web应用程序中的作用,在JavaEE Web应用程序中,它们有助于在bean之间传递用户会话数据。在没有用户会话的情况下,是否有充分的理由在Java SE或Java EE应用程序中使用CDI?

java cdi
1个回答
0
投票

[这是JavaSE应用程序中Java EE CDI的一些用例

1事件总线

public void someMethod(@Observes @SomeFilter(SomeContext.SOME_FLAG) SomeEvent event) { ....

2种图案

@Produces
@Dependent
@ChartCanvasResult(DataFlow.CTS_FLOW)
Canvas canvasChart;

@Inject
@ModelResult(SomeContext.SOME_FLAG)
List<Double> someDataSinkList;

@Dependent
@Named("SomeService")
class SomeServiceImpl  implements SomeService {

3应用程序引导上下文

 Weld weld = new Weld();
 WeldSEShutdownHook shutdownHook = new WeldSEShutdownHook(weld);
 Runtime.getRuntime().addShutdownHook(shutdownHook);
 weldContainer = weld.initialize();

4运行时上下文

   public Object call(Class<?> clazz) {
    log.debug("creating controller= {}", clazz.getSimpleName());

    try {
        return WeldSe.get(clazz);
    } catch (Exception e) {
        log.error("Error creating controller= " + clazz, e);
        throw new RuntimeException(e);
    }
}

1到4允许我管理引导程序,运行时对象图,关闭并使用企业模式来布局我的代码。Weld

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.