gpt4 book ai didi

java - Spring :@Component

转载 作者:行者123 更新时间:2023-11-29 07:11:06 25 4
gpt4 key购买 nike

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

这句话很简洁,但并没有说很多。我理解 @Component 用于指示类生命周期(创建/销毁)将由 Spring 管理。我的问题是:我只需要在将在某处 Autowiring 的类中使用它 (1),还是我还需要在具有 Autowiring 属性的类中使用它 (2)?

(1)

@Component
class B {
}

class A {

// @Autowired
B b;
}

(2)

@Component
class B {
}

@Component
class A {

// @Autowired
B b;
}

最佳答案

嗯,严格来说你不必在任何地方使用,你可以像过去一样在 XML 中定义 beans。您也可以像过去一样使用 @Service@Repository。但是回到你的问题:

如果您的 bean A 未使用 @Component 注释或 Spring 上下文已知,则它永远不会由 Spring 创建和管理。因此,您要么必须使用注释,要么在 XML 中定义 A

B 也是如此。如果您希望它成为 Autowiring 的主题,Spring 必须知道它 - 通过注释扫描或 XML。

归根结底,使用 XML、注释还是 Java 配置并不重要。重要的是这两个 bean 都为应用程序上下文所知。

关于java - Spring :@Component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13919738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com