首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring:@Component

Spring:@Component
EN

Stack Overflow用户
提问于 2012-12-18 02:17:36
回答 1查看 4.3K关注 0票数 2

Spring文档以如下方式定义@Component注解:“表示带注解的类是一个‘组件’。当使用基于注解的配置和类路径扫描时,此类类被视为自动检测的候选。”

这是简明扼要的,但并没有说太多。我知道@Component是用来表示类的生命周期(创建/销毁)将由Spring管理的。我的问题是:我只需要在将在某个地方自动连接的类中使用它(1),还是我也需要在具有自动连接属性的类中使用它(2)?

(1)

代码语言:javascript
运行
复制
@Component
class B {
}

class A {

   // @Autowired
   B b;
}

(2)

代码语言:javascript
运行
复制
@Component
class B {
}

@Component
class A {

  // @Autowired
  B b;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-18 02:22:21

严格地说,您不必在任何地方使用,您可以像过去一样在XML中定义bean。你也可以像以前一样使用@Service@Repository

如果您的bean A没有使用@Component进行注释,或者没有为Spring上下文所知,那么Spring将永远不会创建和管理它。因此您要么使用注释,要么在XML语言中定义A

对于B也是如此。如果您希望它成为自动装配的主题,那么它必须为Spring所知--通过注释扫描或XML。

归根结底,使用XML、注释还是Java配置都无关紧要。这两个bean对于应用程序上下文都是已知的,这一点很重要。

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

https://stackoverflow.com/questions/13919738

复制
相关文章

相似问题

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