springboot零碎入门知识
基础配置入门
resources文件夹
-
application.properties文件
#(更改项目的端口为8081,默认为8080) server.port = 8081
-
新建banner.txt文件
放入喜欢的字符组合图(算彩蛋)
src文件夹
分散的知识点
-
默认扫描器 basepackage (就是主启动类所在的包)
-
热部署
- 需要插件
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-loader-tools</artifactId> <optional>true</optional> </dependency>
-
需要触发
-
ctrl + shift + alt + /
在Registry里勾选compiler.automake.allow.when.app.running
- 勾选自动编译
-
-
最后上线要进行禁用设置
-Dspring.devtools.restart.enabled=false
-
排除某些文件夹下的文件的热部署
spring.devtools.restart.exclude=static/**,public/**
主配置文件的位置
- 主配置文件命名为application.properties或者application.yml
- springboot启动会扫描以下位置的application.properties或者application.yml文件作为springboot的默认配置文件
- -file:./config/
- -file:./
- -classpath:/config/
- -classpath:/
- 优先级由高到低,高优先级的配置会覆盖低优先级的配置,四个位置的配置都会进行加载,互补配置
yaml
yml是YAML语言的文件,以数据为中心,比properties、xml等更适合做配置文件
- yml与xml相比,少了一些结构化的代码,使数据更直接
- 相比properties文件更简洁
例子
environments:
dev:
url: http://xxxx.com
name: xxxx
prod:
url: http://ttt.com
name: ttt
- 同一级要对齐,可以是空格(多少都可以),也可以是缩进
- 在具体内容与层级的冒号之间要有空格隔开
- 大小写敏感
- 支持字面值,对象,数组三种数据结构,也支持复合结构
- 字面值: 字符串,布尔类型,数值,日期。字符串默认不加引号,单引号会转义特殊字符。日期格式支持yyyy/MM/dd HH:mm:ss
- 对象: 由键值对组成,形如key:(空格)value 的数据组成。冒号后面的空格是必须要有的,每组键值对占用一行,且缩进的程度要一致,也可以使用行内写法:{k1: v1,…kn: vn}
- 数组: 由形如 -(空格)value 的数据组成。短横线后面的空格是必须要有的,每组数据占用一行且缩进的程度要一致,也可以使用行内写法:[1,2,…n]
- 复合结构: 上面三种数据结构任意组合
(yml文件是松散绑定的)
same:
myCode: xxx
my-code: xxx
my_code: xxx
MY_CODE: xxx #这种一般在系统环境中建议使用
#上面几种都是支持并可以进行注入的
yml文件的读取
例子1(通过set get实现)
-
实体类
@Data @NoArgsConstructor @AllArgsConstructor @Component @ConfigurationProperties(prefix = "yaml.level") public class YamlModel { private String str; private String specialStr; private int num; private double dNum; private Date birth; private List<String> listOne; private List<String> listTwo; private Set<Integer> set; private Map