或者,我可以将org.springframework.beans.factory.config.Scope
接口的自定义实现绑定到特定的@Scope
注释注释吗?
例如,我已经定制了一个新的范围类型:
@javax.inject.Scope @Retention(RUNTIME)
@interface Conversation {}
class ConversationScope implements Scope { ... }
class ConversationScopeConfigurer extends BeanFactoryPostProcessor
{ beanFactory.registerScope("conversation", new ConversationScope()); }
现在我想用它作为,
@Component
@Conversation
class Topic { ... }
代替,
@Component
@org.springframework.context.annotation.Scope("conversation")
class Topic { ... }
有可能吗?
在spring-context中有类似“AnnotationPostProcessor”的东西吗?
答案 0 :(得分:8)
似乎可以通过<context:component-scan>
例如:
<context:component-scan base-package="com.company" scope-resolver="org.springframework.context.annotation.Jsr330ScopeMetadataResolver" />
如果您需要更多地自定义解决方案,请参阅bridge for JSR-299 annotations的此示例。