首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@自动标注在Spring 3中的行为

@自动标注在Spring 3中的行为
EN

Stack Overflow用户
提问于 2011-11-17 08:53:25
回答 2查看 898关注 0票数 2

我想要了解@Au牛毛注释到底是如何工作的。

代码语言:javascript
复制
import com.test.WorkFlowDAO;

public class ServiceCentralBOImpl implements IServiceCentralBO
{
    /**
     * Logger for logging functionality.
     */
    private static final Log log = LogFactory.getLog(ServiceCentralBOImpl.class);

    @Autowired
    private WorkFlowDAO workFlowDAO;
    .
    .
    .
}

这个bean在我的SpringapplicationContext.xml文件中声明:

代码语言:javascript
复制
<bean id="workflowDAO" class="com.test.WorkFlowDAO">
</bean>

仔细检查后,您可以看到Java类中的两个ID和上下文XML文件是不同的。

workFlowDAO

workflowDAO

字母'f‘在两个ID中是不同的

由于即使使用此配置,我的应用程序也运行得很好;我想知道,@Autowired注释是如何工作的,这样它就不会在bean ID不完全匹配时抱怨。

在使用简单bean的情况下,Spring会抱怨bean名称不匹配。

我正在Websphere AppServer7.0上使用Spring3.0.5运行一个J2EE应用程序

如果需要更多的信息,请告诉我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-17 09:03:30

@Autowired按类型匹配bean。不考虑ID。

如果在XML配置中声明另一个相同类型的bean,Spring会抱怨无法确定正确的bean。

如果您希望与@Autowired一起使用is,则可以通过使用@Qualifier来实现,尽管在本例中建议使用@Resource

可以找到关于这个主题的更多信息,这里

票数 6
EN

Stack Overflow用户

发布于 2011-11-17 09:09:38

完全同意第一个意见。

如果您希望您的bean是自动命名,您可以考虑使用@限定符(“givenName”)。

详情见:

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8164381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档