我想问一下,春天是否有可能用@Service注释类的值超过1,如下所示:
@Service({"ServiceName1","ServiceName2"})
public class ClassName {
}
原因是当我打电话给applicationContext.getBean("ServiceName1");
或applicationContext.getBean("ServiceName2");
提前感谢您的回答。
答案 0 :(得分:3)
您可以在配置类中声明您的bean,并在Bean注释中指定多个名称:
@Bean(name = { "ServiceName1", "ServiceName2" })
public ClassName myService() {
return new ClassName();
}
但是,如果您从应用程序上下文中获取bean名称,那么您可能已经错过了依赖注入的全部内容。
答案 1 :(得分:1)
我认为如果我们使用@Component / @Service注释,我们只能为一个类创建一个bean实例。如果我们需要为单个类创建多个bean,我们需要使用xml方法。在applicationContext.xml
中定义单个类的beandictsort:"0.ticker"