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;
我是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;