java CDI注入如何注解和修改第三方class

java CDI injection how to annotate and modify third part class

我是java CDI的新手,我想知道如何在注入时注释第三方class。

例如,我想在我的许多服务中注入jackson ObjectMapper,我想注册一些定制的序列化器,我能做的就是写一个方法并标记为@PostConstruct 但只有当我可以访问它的代码时。我认为这种情况在注入一些第三方 class 时很常见,但我想对它们进行一些定制。 java CDI 中的常见做法是什么?

写制作人。

我经常使用它来创建这样的记录器:

@ApplicationScoped
public class LoggerProducer {
   @Produces
   public Logger getLogger(InjectionPoint ip) {
      // only include the injection point if you need it
      return LoggerFactory.getLogger(ip.getBean().getBeanClass().getSimpleName());
   }
}

...

@Inject
private Logger logger;