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容器,有兴趣自己去点点,看下他们几个的关系

相关推荐
卷无止境15 分钟前
python进阶:类方法与静态方法的分野,classmethod 和 staticmethod 到底该怎么选
后端·python
墨神谕15 分钟前
认识一下Unicode(统一码)
android·java·数据库
AINative软件工程17 分钟前
LLM 应用的分层可观测性工程实践:从 Span 到 Prompt Diff,三层 Trace 让 AI 系统真正可调试
后端·ai编程
卷无止境19 分钟前
继承与多态:Python OOP里最容易被用错的两把梯子
后端·python
明月_清风27 分钟前
📊 Tokenomics 入门:如何看懂一个项目的代币经济?
后端·web3
明月_清风32 分钟前
🏛️ DAO 治理入门:没有老板的公司怎么运转?
后端·web3
yuhaiqiang40 分钟前
上线一个人静态网站需要多少钱,难不难?
前端·后端·程序员
宸津-代码粉碎机44 分钟前
Jar热部署进阶实战|修复原生方案OOM与类冲突问题,生产级无BUG优化方案
java·大数据·服务器·开发语言·前端·人工智能·python
qq_1851986911 小时前
(Spring Bean + delegateExpression)实现http服务 的完整可运行项目
spring
小Ti客栈11 小时前
Spring Boot 集成 Springdoc-OpenAPI 与 Knife4j实现接口文档与可视化调试
java·spring boot·后端