2018-8-13关于SpringBoot默认生成文件的部分目录介绍和结构树
关于springboot目录介绍
├─.idea /idea的一些项目配置/
│ ├─codeStyles
│ └─libraries
├─.mvn /maven的一些配置/
│ └─wrapper
├─src
│ ├─main
│ │ ├─java
│ │ │ └─com
│ │ │ ├─example
│ │ │ │ └─demo /你的定义的包/
│ │ │ └─orochi
│ │ └─resources
│ │ ├─static /保存所有的静态资源 js,css,images;/
│ │ └─templates /保存所有的模板页面;freemarker,thymeleaf/
│ └─test /编写测试的时候的目录例如单元测试等/
│ └─java
│ └─com
│ └─example
│ └─demo
└─target /生成文件或者打包后的文件所在目录等/
├─classes
│ └─com
│ ├─example
│ │ └─demo
│ └─orochi
├─generated-sources
│ └─annotations
├─generated-test-sources
│ └─test-annotations
└─test-classes
└─com
└─example
└─demo
一般来说还有application.properties也就是springboot的应用配置文件;
默认配置文件
- application.properties
- application.yml
这两种都是固定的全局配置文件
主要用于修改SpringBoot自动配置的默认值
因为YML是以数据为中心的,所以他比传统json和xml等更适合作为配置文件
yml —> YAML1
2server:
port: 8080
1 | <server> |
YAM的基本语法1
2
3server:
port: 8080
path: /hello
数组(List、Set)
用- 值表示数组中的一个元素
pets:
-cat
-dog
-pig
行内写法
pets: [cat,dog,pig]
注意yaml默认不识别tab键所以当要通过缩进的时候请乖乖的打空格1
2
3
4
5
6
7
8
9
10
11
12
13
14
15server:
port: 8081
person:
lastName: zhangsan
age: 18
boss: false
birth: 2017/12/12
maps: {k1: v1, k2: 12}
lists:
- lisi
- zhaoliu
dog:
name: 小狗
age: 2
1 | package con.atguigu.springboot.bean; |
1 | package com.atguigu.springboot.bean; |
ConfigurationProperties和Value注解的区别对比
区别 | @ConfigurationProperties | @Value |
---|---|---|
功能 | 批量注入配置文件中的属性 | 一个个指定 |
松散绑定(松散语法) | 支持(比方说lastname,lastName,last_name,last-name都能识别) | 不支持(不能识别) |
SpEL(Spring表达式) | 不支持 | 支持 |
JSR303数据校验 | 支持 | 不支持 |
复杂类型封装 | 支持 | 不支持 |
@Validated /进行数据校验/
比方说
@Email /所填写数据必须是邮箱格式/
一般在某次业务逻辑中只需要获取配置文件的某一项值可以考虑使用@Value
如果我们编写了一个JavaBean来配置文件进行映射,我们就可以直接使用@ConfigurationProperties