当前位置: 代码网 > it编程>编程语言>Java > 一文掌握Spring 中 @Component 和 @Bean 区别(最新推荐)

一文掌握Spring 中 @Component 和 @Bean 区别(最新推荐)

2024年05月18日 Java 我要评论
spring 中 @component 和 @bean 区别1. 用途不同​@component 用于标识一个普通的类,@bean用于配置类里面,在方法上面声明和配置 bean 对象tips:@com

spring@component@bean 区别

1. 用途不同

@component 用于标识一个普通的类@bean用于配置类里面,在方法上面声明和配置 bean 对象

tips

  • @component 会告诉 spring,由 @component 所修饰的类会被作为组件类,同时 spring 要为这个类创建 bean
  • 告知spring这个方法会返回一个对象,这个对象需要注册为spring上下文(applicationcontext)中的bean,通常方法体包含了最终产生 bean 实例的逻辑

2.使用方式不同

@component类级别的注解,spring 可以扫描到配置此注解的这些类并把他们注入到 springioc 容器中,@bean修饰在方法上的,表示此方法返回一个 bean 对象注入到 springioc 容器中。

tips:但是都能够在 spring 中注册bean对象

@component 使用示例

@component
public class orderservice {
}

但是在spring中通常@component注解通常要配合@componentscan实现注册的功能

@componentscan("指定@component注解所在的包路径")
public class appconfig {
}

@bean 使用示例

@configuration
public class appconfig {
    @bean
    public orderservice orderservice1(){
        return new orderservice();
    }
}

@bean需要在配置类中使用,即类上需要加上@configuration注解,然后在配置类中使用一个方法定义bean是如何创建的

3. 控制权不同

@component 修饰的类是由spring框架 统一管理和创建的,而 @bean 允许开发人员手动控制 bean的创建和配置

4. 灵活性不同

@bean注解比@component注解灵活,我们可以按需注册需要的bean,很多场景我们只能通过@bean来注册bean,比如引入第三方库中的类需要装配到spring容器中。

参考文献

spring中@component注解和@bean的区别是什么

spring中@component和@bean的区别_spring bean和component

到此这篇关于spring 中 @component 和 @bean 区别的文章就介绍到这了,更多相关spring @component 和 @bean 区别内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com