【博学谷学习记录】超强总结,用心分享|狂野架构师SpringBoot常用知识点
项目配置文件加载顺序
文件名顺序
先加载bootstrap.yml(bootstrap.properties)
后加载application.yml(application.properties)
位置顺序:
优先级第一:
file:./config/:当前项目下的/config目录下

优先级第二:
file:./ :当前项目的根目录

优先级第三:
classpath:/config/:

优先级第四:
classpath:/

项目外部配置加载顺序
#配置-yaml基本语法
#大小写敏感
#数据值前边必须有空格,作为分隔符
#使用缩进表示层级关系
#缩进时不允许使用Tab键,只允许使用空格(各个系统 Tab对应的 空格数目可能不同,导致层次混乱)。
#缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
#''#" 表示注释,从这个字符一直到行尾,都会被解析器忽略
#定义可配置的数据:
#对象(map):键值对的集合。
person:
name: zhangsan
# 行内写法
person: {name: zhangsan}
#数组:一组按次序排列的值
address:
- beijing
- shanghai
# 行内写法
address: [beijing,shanghai]
**纯量**:单个的、不可再分的值
msg1: 'hello \n world' # 单引忽略转义字符
msg2: "hello \n world" # 双引识别转义字符
**参数引用**
name: lisi
person:
name: ${name} # 引用上边定义的name值
读取配置文件中的数据:
#获取普通配置
@Value("${name}")
private String name;
#获取对象属性
@Value("${person.name}")
private String name2;
#获取数组
@Value("${address[0]}")
private String address1;
#获取纯量
@Value("${msg1}")
private String msg1;
多个环境中使用不同的配置文件
profile是用来完成不同环境下,配置动态切换功能的。
profile配置方式
多profile文件方式:提供多个配置文件,每个代表一种环境。
application-dev.properties/yml 开发环境
application-test.properties/yml 测试环境
application-pro.properties/yml 生产环境
yml多文档方式:
在yml中使用 --- 分隔不同配置
profile激活方式
配置文件: 再配置文件中配置:spring.profiles.active=dev
虚拟机参数:在VM options 指定:-Dspring.profiles.active=dev
命令行参数:java –jar xxx.jar --spring.profiles.active=dev
其他
配置文件分类
SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就
可以使用application.properties或者application.yml(application.yaml)进行配置。
-
默认配置文件名称:application
-
在同一级目录下优先级为:properties>yml > yaml
pom文件中的排除部分依赖操作
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--排除tomcat依赖-->
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
SpringBoot不能直接获取在其他工程中定义的Bean
原因:
@ComponentScan 扫描范围:当前引导类所在包及其子包
三种解决方案:
1.使用@ComponentScan扫描com.itheima.config包
2.可以使用@Import注解,加载类。这些类都会被Spring创建,并放入IOC容器
3.可以对Import注解进行封装。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!