首页 > 其他分享 >@bean 和@ component 区别 用法

@bean 和@ component 区别 用法

时间:2024-02-01 10:22:24浏览次数:25  
标签:Spring Component Bean 用法 bean component 创建 注解

 @bean里面没有component

@Bean 和 @Component 都是 Spring 框架中用于定义和注册 bean 的注解,但它们的使用场景和方式有所不同。

@Bean

- @Bean 注解用在方法上,通常在配置类(带有 @Configuration 注解的类)中使用。
- 它表示通过方法返回的对象应该被注册为 Spring 应用上下文中的一个 bean。
- @Bean 方法可以非常灵活地创建复杂对象,允许编程式地定义对象的创建逻辑。
- 示例:

  @Configuration   public class AppConfig {       @Bean       public MyBean myBean() {           // 返回 MyBean 的实例           return new MyBean();       }   }  

@Component

- @Component 注解用在类上,表示该类会作为组件类,并告诉 Spring 需要为这个类创建 bean。
- 它是一个泛化的概念,仅仅通过类的注解来自动注册 bean,适用于那些不需要复杂逻辑就能创建的简单 bean。
- Spring 还提供了几个特定的注解,如 @Service、@Repository、@Controller,它们都是 @Component 的特化,用于不同的场景,但本质上与 @Component 相同,都会导致 Spring 创建一个 bean。
- 示例:   @Component
  public class MyComponent {
      // Spring 会为这个类创建一个 bean
  }  总结来说,@Bean 用于方法上,适用于需要编程式逻辑来创建复杂对象的场景;而 @Component 用于类上,适用于那些直接由 Spring 自动创建实例的简单类。    

 

标签:Spring,Component,Bean,用法,bean,component,创建,注解
From: https://www.cnblogs.com/JavaYuYin/p/18000680

相关文章

  • CF292D Connexted Components
    原题传送门分析首先一眼看到这个题,第一个想到的肯定是dfs暴力每次询问时从左往右把边一条一条加进来,再从右往左加一遍,然后维护连通块个数。但是这样的复杂度显然是\(O(mk)\)的。所以我们需要一些优化。注意到在加边的时候有些边并不会改变连通块的个数。这些边我先称之为无......
  • 【c++】引用的用法
    一、引用的介绍引用还有一个别的叫法:取别名通俗点说:每个人都有一个大名,可能也有一个小名,但是都是指一个人,引用也就是一个变量的别名。1.引用的概念:引用不是定义一个别的变量,而是给一个变量取别名注:引用变量编译器不会为这个变量单独开辟一块内存,它和它引用的变量使用同一块内存2.引......
  • 深入解析CompletableFuture的功能和用法
    https://zhuanlan.zhihu.com/p/650390185?utm_id=01.CompletableFuture简介1.1概述CompletableFuture是Java8中引入的一个类,它实现了CompletionStage接口,提供了一组丰富的方法来处理异步操作和多个任务的结果。它支持链式操作,可以方便地处理任务的依赖关系和结果转换......
  • JavaBean
    ......
  • C#中问号(?)运算符的历代新增用法
    本文是B站up主十月的寒流的相应视频的学习笔记,可以直接访问该视频获取更详细的讲解:C#中问号(?)运算符的历代新增用法C#1.0三目运算符stringres=x>5?"goood":"no"C#2.0可为空的值类型(NullableValueTypes)int?x=null;上述代码本质上是Nullable<int>x=nul......
  • c# ComboBox控件的常用一些属性和用法、事件及数据绑定方法
    一、常用属性和用法1、Text:获取或设置与此控件关联的文本。//设置默认值this.comboBox1.Text="请选择内容";//orcomboBox1.Items.Add("请选择内容");comboBox1.SelectedIndex=0;2、SelectedIndex:获取或设置指定当前选定项的索引。(设置新索引会SelectedIndexChanged......
  • Docker Volume 的经常用法区别
    对于使用NFS的Docker数据卷,配置示例应当类似于这样:version:'3'services:my_service:image:your_imagevolumes:#挂载命名的数据卷到容器内的路径(详细模式)-type:volumesource:my_nfs_volumetarget:/path/in/containe......
  • jenkins常见用法
    jenkins的一些设置工具设置指定maven配置文件配置jdk配置maven邮件配置系统邮件配置新建maven项目需要安装MavenIntegrationplugin才有这个风格的项目构建触发器git配置构建打包构建脚本jenkins的构建基本大概都是这5部分git地址#代码仓库......
  • Qt QQueue 详解:从底层原理到高级用法
    引言:QQueue的重要性与简介在现代软件开发中,数据结构和算法扮演着至关重要的角色。它们为程序员提供了处理各种不同场景下数据的有效方法。QQueue(队列)是一种常见且实用的数据结构,它在许多应用中都发挥着关键作用。本文将简要介绍QQueue的重要性和简介。队列(Queue)是一种遵......
  • python中with的用法
    一、文件操作#自行车f=open("filename")f.write()f.close()上述代码存在的问题:(1)直接open()打开需要手动关闭,并且容易忘记关闭(2)当文件操作出现异常导致程序提早离开,而没有执行关闭文件操作#小轿车try:f=open("xxx")f.write()#文件操作except:doso......