1

我有一个 DecoraManager 实现:AppDecoraManager,并且想要注入一个服务,例如:FooService 作为:

@PetiteInject
FooService fooService;

当 resolveDecorator() 被调用时,我想使用 fooService 来确定一些参数,但它有空值。

这可能是什么原因,我该如何解决?

4

1 回答 1

1

DecoraManager由 servlet 容器创建,在DecoraServletFilter.

目前,还没有与现有的 Petite IOC 集成,因此您必须执行以下操作:

  • 首先,您需要对PetiteContainer. 例如,在创建容器期间存储它。
  • createDecoraManager()在您的实现中覆盖
  • PetiteContainer.wire(this)在您的实现中使用DecoraManager.

到目前为止,这是唯一的方法。

另一种选择是:

  • 注册DecoraManager@PetiteBean.
  • 再次,获取静态引用PetiteContainer
  • createDecoraManager用于PetiteContainer.get()获取实例。

在第一个示例中,DecoraManager只是连线;在第二个示例中,它也存储在 Petite 容器中。

于 2018-11-17T05:08:01.433 回答