Spring中把一个bean对象交给Spring容器管理的三种方式

一、使用@Component,把bean对象依赖交给Spring容器

注意,该注解不能使用,则说明未添加依赖,需要去该项目pom.xml文件内引入依赖,若该项目只是作为一个存放工具类的子模块项目,没有业务代码编写,则在引入的依赖下加上该配置provided表示该依赖只在编译阶段有效,否则不要加,切记!!!

二、

1、@Bean,在项目主启动类里面加上一个方法,方法里面是new一个该要注入的bean对象并返回

2、如果不想在启动类上,而在其他任意类上接收,则需要在该接收类上额外添加一个注解@Configuration。

三、@Import(对象.class),同上,该注解可以直接在主启动类上使用,也可以在任意其他类上使用,在其他类上使用时也需要加上@Configuration

测试结果:

**总结:**1、三种方式的使用区别:

@Component:适合在本项目内或者各子项目之间使用,允许去更改要管理的对象,去添加该注解。@Import和@Bean适合引入第三方得资源,我们无法去修改其本来的对象。同时,一般@Import多用与配置资源得对象,@Bean用与普通对象

2、@Bean和@Import在主启动类上跟普通类上的区别:

因为主启动类@SpringBootApplication里包含了@SpringBootConfiguration,@SpringBootConfiguration类又包含了@Configuration配置类,所以主启动类上不需要再添加,该类作用就是读取@Bean标记的类,把他交给spring容器,有兴趣自己去点点,看下他们几个的关系

相关推荐
wuminyu19 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
小码哥_常19 小时前
Spring Boot:别再重复造轮子,这些内置功能香麻了
后端
皮皮林55120 小时前
OpenFeign 首次调用卡 3 秒?八年老开发扒透 5 个坑,实战优化到 100ms!
后端
callJJ21 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring
phltxy21 小时前
Spring Cloud 分布式服务部署实战:从 0 到 1 实现微服务上线
spring·spring cloud·微服务
千寻girling21 小时前
《 Git 详细教程 》
前端·后端·面试
wbs_scy21 小时前
Linux线程同步与互斥(三):线程同步深度解析之POSIX 信号量与环形队列生产者消费者模型,从原理到源码彻底吃透
java·开发语言
0xDevNull1 天前
Linux 中 Nginx 代理 Redis 的详细教程
redis·后端
GetcharZp1 天前
告别 Nginx 手动配置!这款 Go 语言开发的云原生网关,才是容器化时代的真香神器!
后端
jinanwuhuaguo1 天前
(第三十三篇)五月的文明奠基:OpenClaw 2026.5.2版本的文明级解读
android·java·开发语言·人工智能·github·拓扑学·openclaw