gpt4 book ai didi

spring - 什么是 CDI 的 InjectionPoint 的 Spring DI 等价物?

转载 作者:IT老高 更新时间:2023-10-28 13:56:23 29 4
gpt4 key购买 nike

我想创建一个 Spring 的 bean producer 方法,它知道谁调用了它,所以我从以下代码开始:

@Configuration
public class LoggerProvider {

@Bean
@Scope("prototype")
public Logger produceLogger() {
// get known WHAT bean/component invoked this producer
Class<?> clazz = ...

return LoggerFactory.getLogger(clazz);
}
}

我如何获得想要注入(inject) bean 的信息?

我正在寻找 CDI's InjectionPoint 的等价物在 Spring 的世界里。

最佳答案

Spring 4.3.0 启用 InjectionPoint和 Bean 生成方法的 DependencyDescriptor 参数:

@Configuration
public class LoggerProvider {

@Bean
@Scope("prototype")
public Logger produceLogger(InjectionPoint injectionPoint) {
Class<?> clazz = injectionPoint.getMember().getDeclaringClass();

return LoggerFactory.getLogger(clazz);
}
}

顺便说一句,the issue for this feature SPR-14033链接到 a comment on a blog post链接到这个问题。

关于spring - 什么是 CDI 的 InjectionPoint 的 Spring DI 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9685316/

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