当前位置: 首页 > 编程笔记 >

Spring中@Bean和@Component批注之间的区别。

卜季萌
2023-03-14
本文向大家介绍Spring中@Bean和@Component批注之间的区别。,包括了Spring中@Bean和@Component批注之间的区别。的使用技巧和注意事项,需要的朋友参考一下

 Spring支持多种类型的注释,例如@ Component,@ Controller,@ service @Repository和@Bean。所有这些都可以在org.springframework.stereotype包下找到。

当我们的应用程序中的类使用上述任何注释进行注释时,则在项目启动时进行spring扫描(使用@componentScan),然后将每个类注入到IOC容器中。@ComponentScan要做的另一件事是运行带有@Bean的方法,并将返回对象作为Bean恢复到Ioc容器。

序号 @豆角,扁豆 @零件
1
自动侦测
它用于显式声明单个bean,而不是让Spring自动执行。 
如果有任何用@Component注释的类,它将使用类路径扫描自动检测到。
2
弹簧容器
即使类在弹簧容器之外也可以创建Bean
如果类不在spring容器之外,则无法创建bean
3
类/方法级别注释
它是方法级别的注释
这是一个类级别的注释
4
@组态
仅当类也用@Configuration注释时,它才有效
它无需
@Configuration注释即可工作
5
用例
如果您想要基于动态条件的特定实现,则应使用@bean。
我们不能根据动态条件编写特定的实现

@Component的示例

@Component
public class Pizza{

   ........


}

@Bean的示例

@Configuration
class AppConfiguration{

   @Bean
   public User getUse(){
      return new User();
   }
}
 类似资料:
  • 我不明白两者之间有什么区别,为什么我要用一个而不是另一个?

  • 问题内容: 我遇到了Spring 3提供的两个注释(@Component和@Configuration),我对它们之间有些困惑。 这是我读到的有关@Component的内容 将此“ context:component”放入bean配置文件中,这意味着在Spring中启用自动扫描功能。基本包指示组件的存储位置,Spring将扫描此文件夹并找出Bean(用@Component注释)并将其注册在Spri

  • 问题内容: spring 和注释之间的区别。 可以注解同时用于Web MVC框架和REST的应用程序? 如果是,我们如何区分是Web MVC还是REST应用程序。 问题答案: 用于将类标记为。 是一个方便注释,仅添加和注释(参见:Javadoc) 所以以下两个控制器定义应该做的一样

  • 问题内容: 和释可以在Spring中互换使用吗,或者除了用作注释设备之外,它们还提供任何特定功能吗? 换句话说,如果我有一个Service类,并且将注释从更改为,它的行为是否仍将相同? 还是注释也会影响类的行为和功能? 问题答案: 本文向大家介绍Spring中的@ Component,@ Repository和@Service批注有什么区别?相关面试题,主要包含被问及Spring中的@ Compo

  • 问题内容: ,和释可以在Spring中互换使用吗,或者除了用作注释设备之外,它们还提供任何特定功能吗? 换句话说,如果我有一个Service类,并且将注释从更改为,它的行为是否仍将相同? 还是注释也会影响类的行为和功能? 问题答案: 从Spring文档: 在Spring 2.0和更高版本中,注释是满足存储库角色或构造型(也称为数据访问对象或DAO)的任何类的标记。该标记的用途包括自动翻译例外。 S

  • 问题内容: 因此,如果我理解正确的话,两种方法都是在有多个候选对象的情况下确定要自动装配哪个bean的方法。那么到底有什么区别呢? 问题答案: 读取为“默认”。 如果一个Bean 没有 任何Bean ,并且存在多个该类型的Bean,则将选择标记的候选Bean ,即,当没有其他可用信息(即丢失)时,它是默认选择。 一个好的用例是,最初您只有一个类型的bean,因此没有使用任何代码。然后,当您添加另一