Spring文档以下列方式定义@Component注释:"表示带注释的类是"组件".当使用基于注释的配置和类路径扫描时,这些类被视为自动检测的候选者."
这很简洁,但并没有说太多.我知道@Component用于表示Spring将管理类生命周期(创建/销毁).我有的问题:我只需要在某个地方自动装配的类中使用它(1)或者我是否还需要在具有自动装配属性的类中使用它(2)?
(1)
@Component
class B {
}
class A {
// @Autowired
B b;
}
Run Code Online (Sandbox Code Playgroud)
(2)
@Component
class B {
}
@Component
class A {
// @Autowired
B b;
}
Run Code Online (Sandbox Code Playgroud)
好吧,严格来说,你不必在任何地方使用,你可以像过去那样用XML定义bean.你也可以在过去使用@Service或@Repository喜欢.但回到你的问题:
如果您的bean A没有使用@ComponentSpring语言注释或以其他方式为其所知,那么Spring将永远不会创建和管理它.因此,您必须使用注释或A在XML中定义.
这也是如此B.如果您希望它成为自动装配的主题,Spring必须知道它 - 通过注释扫描或XML.
在一天结束时,使用XML,注释或Java配置并不重要.重要的是,两个bean都应用于应用程序上下文.
| 归档时间: |
|
| 查看次数: |
4135 次 |
| 最近记录: |