SpringBoot

配置优先级

SpringBoot中支持三种格式的配置文件

若三个类型的配置文件同时出现他们的优先级从上往下依次是

SpringBoot除了支持配置文件属性配置,还支持Java系统属性和命令行参数的方式进行属性配置。

-D配置项的名字=配置项的值 -D表示这是java系统属性

在IDEA中可以这样使用

总的来说配置优先级命令行属性>Java系统属性>配置文件

在运行Jar包的时候可以这样配置命令行属性和java系统属性

Bean管理

bean作用域

Spring支持五种作用域,后三种在web环境才生效

要声明Bean的作用域就需要添加@Scope注释


单例和多例Bean的使用场景

无状态的意思是此类中不需要保存数据,有状态则反之

第三方Bean

如果要管理的bean对象来自于第三方〈不是自定义的),是无法用@Component及衍生注解声明bean的,就需要用到@Bean注解。启动类

也就是说在装配的时候省略了Autowrited注解不推荐在启动类中声明Bean,推荐定义一个配置类在配置类中定义Bean

SpringBoot原理

起步依赖

是通过依赖传递,引入一个starter依赖自动引入其它的

自动配置

SpringBoot的自动配置就是当spring项目启动后,一些配置类、bean对象就自动存入到了IOC容器中,不需要我们手动去声明,从而简化了开发,省去了繁琐的配置操作。

第一种方法

如果想要实现自动注入第三方的包(里面的类要有@Component注解)就需要添加扫描范围,将需要注入的包添加进去

第二种方法

使用import注解

导入实现了ImportSelector接口的实现类

直接使用@enable注解,一般来说第三方会帮你封装好要导入的类

相关推荐
win x42 分钟前
Redis 使用~如何在Java中连接使用redis
java·数据库·redis
星晨雪海1 小时前
基于 @Resource 的支付 Service 多实现类完整示例
java·开发语言
阿维的博客日记1 小时前
什么是逃逸分析
java·juc
Ricky_Theseus1 小时前
C++右值引用
java·开发语言·c++
Rick19932 小时前
Java内存参数解析
java·开发语言·jvm
我是大猴子2 小时前
Spring代理类为何依赖注入失效?
java·后端·spring
勿忘,瞬间2 小时前
多线程之进阶修炼
java·开发语言
014-code2 小时前
线程池参数怎么配才不翻车
java
吴梓穆2 小时前
UE5 c++ 常用方法
java·c++·ue5
王夏奇3 小时前
python中的__all__ 具体用法
java·前端·python