gpt4 book ai didi

java - 具有原型(prototype)范围的自定义 Spring 原型(prototype)注释?

转载 作者:行者123 更新时间:2023-11-30 12:01:38 25 4
gpt4 key购买 nike

我创建了一个自定义原型(prototype)@Action,Spring 已设法在我在配置中配置的包扫描中检测到它。

下一步我想做的是告诉 Spring 所有带有 @Action 的类都应该用原型(prototype)创建,而不是单例。

我的@Action接口(interface)如下:

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Action {
}

我尝试用@Scope("prototype") 标记它,但这似乎没有帮助。

我想要的有可能吗?

肯特

最佳答案

context:component-scan 可以配置自定义作用域解析器,它实现了 org.springframework.context.annotation.ScopeMetadataResolver。

我创建了一个自定义范围解析器,它不仅检查 bean 是否有 @Scope 注释(使用 org.springframework.context.annotation.AnnotationScopeMetadataResolver 的默认解析器),还查找注释的注释(递归)。

但要注意一件事,递归查找注释可能会进入无限循环,因为 java.lang.annotation.Documented 是用 java.lang.annotation.Documented 注释的。最好维护一个表,指示已经查找了哪个注释。

关于java - 具有原型(prototype)范围的自定义 Spring 原型(prototype)注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/510876/

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