当前位置: 首页 > 知识库问答 >
问题:

在Spring框架中,@bean和@component注释是相同的但针对不同的目标吗?[副本]

陆城
2023-03-14

我认为@bean和@component注释是相同的,但首先是针对类,另一个是针对方法,这是正确的吗?

在这两种情况下,container只是创建了适当的bean,

共有1个答案

漆雕欣德
2023-03-14

不完全是。它们属于不同的概念。

@component是一个原型注释。在类路径扫描期间,将自动检测用此批注批注的类。另请参见Spring参考文档第5.10章。除此之外,@bean注释属于Java配置特性。在配置类中,这个注释用于标记定义bean的方法。

 类似资料:
  • 我有一个Maven项目,其中包括一个Maven插件(Liquibase Maven插件),它公开了不同的目标。其中两个目标(update和diff)需要在它们之间发生冲突的不同参数(因为两者的语义不同),因此我需要在两个目标执行中赋予Maven不同的属性。 有没有办法在Maven中为不同的目标传递不同的配置?

  • 我有一个春靴项目。我以“Spring”的方式使用了一些类,这意味着它们是由“@service”、“@repository”、“@autowired”注释的。同时,我有很多类,它们只以普通的Java方式使用,这意味着没有任何Spring注释,它们是以在构造函数中构造对象的标准方式创建的。

  • 我通常使用“IsNotNone”来测试对象是否为空。我看到的代码只是使用“if对象”。它们是一样的吗? 例如, VS

  • [信息]用不同的定义重写bean“data source”的bean定义:替换[Root bean:class[null];scope=;abstract=false;lazyinit=false;autowiremode=3;dependencycheck=0;autowirecandide=true;primary=true;factorymethodname=config;factoryme

  • 我正在开发一个从Azure服务总线读取消息的应用程序。该应用程序是使用spring boot、spring jms和Qpid jms客户端创建的。我能够正确地从队列中读取消息,没有任何问题。PFB我用来阅读信息的代码。 问题是,对于不同的环境,我们有不同的目的地,例如用于开发的测试、用于qa的测试qa和用于生产的测试产品,所有这些值都作为azure提供。queueName在不同的应用程序-(ENV

  • 我有一个Kafka Streams拓扑,其中我加入了5个表,每个表都是在一个主题上创建的,该主题由一些Kafka连接器填充,这些连接器产生KeyValue事件,其中Key是针对相同的Avro模式产生的,但在我的拓扑中,当我加入这些表时,Key似乎不一样,如果它们是Java等于事件。所有这些背后的原因是什么? 它与Confluent Schema Registry集成。 我们已经使用了调试器,并且在