在@Autowired的java代码中将bean id与实例成员变量匹配

时间:2015-06-11 14:18:57

标签: java spring

我在应用程序上下文xml文件中定义了bean:

<bean id="logRoutingTable" class="com.symantec.cas.ucf.plugin.router.RoutingTable">
  </bean>

@Autowired

的java文件中使用它
@Autowired
private RoutingTable routingTable; 

上面的代码工作正常。但现在我意识到实例名routingTable与bean id logRoutingTable不同。那么没有必要匹配bean id和实例成员吗?

2 个答案:

答案 0 :(得分:1)

只要只有一个bean匹配(IS-A)RoutingTable,Spring就会允许注入。

如果你有另一个bean匹配,你可以用@Qualifier(See mykong example)解决冲突,或者通过重命名实例变量来匹配bean id。

答案 1 :(得分:1)

没有。这不是必需的。实例变量可以具有任何名称。 Spring框架自动搜索匹配的bean。如果你有同一个类的多个bean,那么你必须使用

@Qualifier("beanName")

用于通过bean名称进行匹配。