Spring Boot--Bean的扫描和注册

1.Bean扫描

**注意:**Spring Boot是默认扫描启动类所在的包及其子包,如果包不在所在类的包里面,可以手动使用@ComponentScan添加要扫描的包,建议还是放在启动类的包里面。

2.Bean注册

如果要注册的Bean对象来自于第三方(不是自定义的),是无法用的@Component及衍生注解声明bean的

①@Bean

如果要注册第三方Bean,建议在配置类中集中注册

@Bean:要是想要通过名字去获取对象,默认的就是方法名,如果你想要修改名字,直接@Bean("XXX")然后就可以了。如果方法的内部需要使用到IOC容器中已经存在的Bean对象,那么需要在方法上声明即可,Spring会自动注入的

@Configuration:标明这个类是一个配置类

②@import

1.导入配置类

2.导入ImportSelector接口实现类

让一个类实现ImportSelector,然后在里面重写他的方法,在方法里面编写你要注册的全类名,在启动类里就要导入实现ImportSelector类的文件名.class了

实际开发中,你要注册的全类名应该写在一个配置文件里,然后去读取配置文件,就行下图中的一样

3.@EnableXxx注解,封装@Import注解

3.Bean注册条件

相关推荐
是未才10 分钟前
从输入 URL 到页面返回:DNS、路由、TLS 与 HTTP 完整链路
java·后端·计算机网络
ttod_qzstudio38 分钟前
Java 常用语法极简通关(五):类与对象——字段、方法、构造器、this 与 static
java·开发语言·python
DevUI团队1 小时前
从“即兴创作”到“规格先行”,华为云码道(CodeArts)代码智能体持续深耕企业级规范驱动开发能力
前端·人工智能·后端
萧瑟余晖2 小时前
Java深入解析篇十七之Spring Security
java·开发语言·spring
weixin_431600442 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
IT_陈寒3 小时前
JavaScript类型转换把我坑惨了,这破玩意真该早点搞明白
前端·人工智能·后端
用户938515635073 小时前
手写一个 LLM Harness 框架:用工程化手段把大模型幻觉踩在脚下
javascript·人工智能·后端
wei_shuo4 小时前
KES 云原生部署与弹性扩展:容器化、Kubernetes编排与自动伸缩
后端
一木之林4 小时前
Python.五.(一)--1. 并发编程、异步IO与多进程
后端
离陌在学C#4 小时前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#