gpt4 book ai didi

java - 如何使用Picocontainer Web?

转载 作者:行者123 更新时间:2023-12-01 13:39:34 25 4
gpt4 key购买 nike

我正在尝试使用 Picocontainer Web (picocontainer-web-core-2.5.1.jar)。

我已经配置了所有内容,并且检查一切正常,直到尝试从容器中检索任何内容...:p

我虽然应该使用 PicoServletContainerFilter 类中的静态方法 getRequestComponentForThread(Class type) ,如下所示:

public static Object getRequestComponentForThread(Class type) {
MutablePicoContainer requestContainer = ServletFilter.currentRequestContainer.get();
MutablePicoContainer container = new DefaultPicoContainer(requestContainer);
container.addComponent(type);
return container.getComponent(type);
}

但正如您所看到的,在该方法中,创建了 DefaultPicoContainer 的新实例,并且正在注册我尝试检索的类型。

  • 如果类型是类 - 创建并返回新实例,而不是从父容器缓存实例...
  • 如果类型是接口(interface) - 在第 3 行 (addComponent) 处抛出运行时异常(“'ExampleInterface' 不可实例化”)。

我的问题是:如何使用这个库?我很确定我理解它,但是这个方法的实现让我大吃一惊......

最佳答案

实际上,除非有特殊情况,否则不应该使用 getComponent。当您将 pico 上下文监听器添加到 web.xml 时,会为您创建应用程序/ session /请求容器。只需为每个范围配置组件,picocontainer 就会自动注入(inject)内容并在需要时实例化组件。还可以使用 Startable 生命周期接口(interface)。

关于java - 如何使用Picocontainer Web?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20938840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com