我有一个创建spring bean工厂的用例,该工厂扫描带有特定注释的注释类型,并根据注释参数创建spring bean。
这个bean工厂生成的spring bean是不同类型的,例如Class1,Class2。可以使用不同的限定符创建多个这些类型的实例。
最后,我应该可以在任何一个spring bean中使用@Autiwired,@ Inject等注释注入它们。
注意:我需要工厂以避免创建这么多标记组件。
例如 有一个注释@MyAnnotation接受参数“Class clazz”。
有两个使用此注释注释的类。
@MyAnnotation(clazz = Component1.class) FirstService {}
@MyAnnotation(clazz = Component2.class) FirstComponent {}
@MyAnnotation(clazz = Component1.class) SecondService {}
应该有一个组件使用这个注释过滤类,并使用自定义参数将它们分别注册为Component1,Component2和Component1的bean。
最后我想把它们注入任何类似
的春豆@Autowired
Component1 component1Instance1;
@Autowired
Component2 component2;
@Autowired
Component1 component1Instance2;
我尝试使用ApplicationEvent,ApplicationContextAware,BeanPostProcessor等实现这个。但是,无法实现。
请提供任何暗示以使其成为可能。