配置文件
3.1.1 properties
就是正常的配置文件,和前面学的一样
3.1.2 yaml
简介
YAML 是 "YAML Ain't Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。
非常适合用来做以数据为中心的配置文件
这个我太熟悉了啊,当时在专科的时候参加云计算竞赛,要写容器编排。我搁那天天练这个啊,当时也不知道格式啥的,就是死记硬背。
我想说的是,这个很重要,后面学ansible的时候也会用到这个,给爷狠学!!!
基本语法
- key: value;kv之间有空格
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- '#'表示注释
- 字符串无需加引号,如果要加,''与""表示字符串内容 会被 转义/不转义
数据类型
- 字面量:单个的、不可再分的值。date、boolean、string、number、null
k: v
- 对象:键值对的集合。map、hash、set、object
行内写法: k: {k1:v1,k2:v2,k3:v3} #或 k: k1: v1 k2: v2 k3: v3
- 数组:一组按次序排列的值。array、list、queue
行内写法: k: [v1,v2,v3] #或者 k: - v1 - v2 - v3
示例
person: userName: zs boss: true birth: 2019/12/9 age: 18 # interests: [唱,跳,rap] interests: - 唱 - 跳 - rap # 集合也可以跟数组一样用-的形式来表示 # 也可以写成[]的形式 animal: [Cat,Dog] # map的两种写法 # score: # english: 99 # math: 80 # score: {english:90,math:78} # 这里面的冒号后面不用跟空格,因为这是json的表示方法 # 也可以写成键值对的形式{k:V,K:V} score: {english:90,math:78} salarys: - 9999.98 - 9999.97 pet: name: dog weight: 99.97 allPets: sick: # 以下这两种都表示对象,分别是k:v的形式和{}的形式 - {name: dog,weight: 34} - name: cat weight: 23 health: - {name: A,weight: 10} - {name: B,weight: 20}
访问测试
配置提示
自定义的类和配置文件绑定一般没有提示。
导入一个依赖即可~
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build>
之后就能愉快的自动提示了
Web开发
静态资源访问
只要静态资源放在类路径下: called
/static
(or/public
or/resources
or/META-INF/resources
访问 : 当前项目根路径/ + 静态资源名
原理: 静态映射/**
请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找不到则响应404页面
启动成功后,直接访问 当前项目根路径/ + 静态资源名
改变默认的静态资源路径
改变为AAA文件为静态资源文件夹
webjar
WebJars是一个很神奇的东西,可以让大家以jar包的形式来使用前端的各种框架、组件。
完成依赖添加
<dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.5.1</version> </dependency>
进行测试
可以尝试CTRL+f9快速编译
记得重启之后在访问,便可访问web静态资源了
欢迎页支持
静态资源路径下 index.html
- 可以配置静态资源路径
- 但是不可以配置静态 资源的访问前缀。否则导致 index.html不能被默认访问
就是把index页面放到静态资源目录下,他会自动访问这个页面
如果访问不了,记得clean一下(Maven插件clean功能)
自定义Favicon
favicon.ico 放在静态资源目录下即可更换网站图标
设置静态资源访问路径会导致 Favicon 功能失效