我已经开始使用Java配置文件来使用@Bean
注释创建Spring bean。我真的很喜欢这个方法用于一些更复杂的类,特别是涉及泛型的类。
但是,我发现Java文件在识别bean及其ID方面的可读性低于XML。特别是在混合使用@Bean
方法和非bean生成辅助方法的情况下。
我希望有人能指出我以可读的方式做到这一点的好例子。或者,如果有参考实现,我可以将其用作示例/指南。
答案 0 :(得分:1)
我在处理复杂结构时发现处理和指定Beans的最佳方法是使用两个简单的注释:
@Bean
@Qualifier
可以在这里找到使用bean的好例子:
http://www.tutorialspoint.com/spring/spring_java_based_configuration.htm
使用限定符的示例:
Spring: Attaching @Qualifer to Java-configured beans
基本上,您创建一个bean,然后使用限定符标记为其指定唯一名称。 从那里你可以根据需要建立它。
@Qualifier可能相当强大。
希望这有帮助。
答案 1 :(得分:0)
一段时间后,我发现我确实使用了Sotirios的建议。我发现我做了两件事之一:
@Bean(name = "someBeanName")
public MyClass blahBlahIsIgnored(){
return new MyClass();
}
如果我只需要创建Bean,而不必担心引用过多,就使用上面的代码。但是,如果经过命名的努力,我通常会采取其他步骤:
@Configuration
public class MyConfiguration{
public static final String USER_RESOLVER = "someBeanName";
@Bean(name = USER_RESOLVER )
public MyClass blahBlahIsIgnored(){
return new MyClass();
}
}
这将允许以下操作:
@Autowired
@Qualifier(MyConfiguration.USER_RESOLVER)
private MyClass userResolver;