Java 在@products方法中获取bean类名的NullPointerException
我有一个LoggerProducer类,它被注入到@Stateless bean中以生成日志条目,如前所述 问题是,当调用CustomerBean时,甚至没有调用logger.info,@products方法检索bean类名,但会失败,出现NullPointerException。这个代码有什么问题Java 在@products方法中获取bean类名的NullPointerException,java,jakarta-ee,logback,slf4j,java-ee-8,Java,Jakarta Ee,Logback,Slf4j,Java Ee 8,我有一个LoggerProducer类,它被注入到@Stateless bean中以生成日志条目,如前所述 问题是,当调用CustomerBean时,甚至没有调用logger.info,@products方法检索bean类名,但会失败,出现NullPointerException。这个代码有什么问题 @Named @Singleton public class LoggerProducer { @Produces public Logger produceLogger(Inje
@Named
@Singleton
public class LoggerProducer {
@Produces
public Logger produceLogger(InjectionPoint injectionPoint) {
return LoggerFactory.getLogger(
injectionPoint.getBean().getBeanClass()); // <- error here
}
}
假设injectionPoint在producer方法中不为null,您可以尝试以下方法:
@Produces
Logger createLogger(InjectionPoint injectionPoint) {
return LoggerFactory.getLogger( injectionPoint.getMember().getDeclaringClass().getName() );
}
假设injectionPoint在producer方法中不为null,您可以尝试以下方法:
@Produces
Logger createLogger(InjectionPoint injectionPoint) {
return LoggerFactory.getLogger( injectionPoint.getMember().getDeclaringClass().getName() );
}
什么是null:injectionPoint或getBean?getBean是null什么是null:injectionPoint或getBean?getBean是null