一、SpringBoot核心功能优点:
(1)起步依赖(starts):简化了程序员的导入依赖的书写量
(2)父依赖(parent):避免了版本冲突
(3)自动配置(@EnableAutoConfiguration):简化了程序员对依赖的相关配置
(4)辅助功能:内嵌tomcat等
SpringBoot内置的三款服务器:想使用哪个就加对应的坐标,并将tomcat排除即可,因为tomcat是默认加载的
- tomcat(默认):apache出品,粉丝多,应用面广,负载了若干较重的组件
- jetty:更轻量级,负载性能远不及tomcat
- undertow:负载性能勉强跑赢tomcat
二、导入parent中的依赖:
注意:因为在maven中继承机会只有一次,因此可以使用导入的形式导入SpringBoot管理的依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
三、引导类:
启动SpringBoot程序的类被称为引导类:用@SpringBootApplication注解标注,这是SpringBoot所有功能的入口
四、application配置文件:
注意:如果application文件的字符串中要用到转义字符\,那么就需要使用“”将该字符串包裹起来
lesson: "Spring\tboot\nlesson"
1、三种文件格式:
三种文件格式:
properties(传统格式、默认格式)
yml(主流格式)
yaml
加载的优先级:properties > yml > yaml
2、yml、yaml格式的具体要求
1. 大小写敏感
2. 属性层级关系使用多行描述,每行结尾使用冒号结束
3. 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
4. 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
5. #号 表示注释
3、常见的数据书写格式:
boolean: TRUE #TRUE,true,True,FALSE,false,False均可
float: 3.14 #6.8523015e+5 #支持科学计数法
int: 123 #0b1010_0111_0100_1010_1110 #支持二进制、八进制、十六进制
null: ~ #使用~表示null
string: HelloWorld #字符串可以直接书写
string2: "Hello World" #可以使用双引号包裹特殊字符
date: 2018-02-17 #日期必须使用yyyy-MM-dd格式
datetime: 2018-02-17T15:02:31+08:00 #时间和日期之间使用T连接,最后使用+代表时区
4、数组格式的书写:
subject:
- Java
- 前端
- 大数据
enterprise:
name: itcast
age: 16
subject:
- Java
- 前端
- 大数据
likes: [王者荣耀,刺激战场] #数组书写缩略格式
users: #对象数组格式一
- name: Tom
age: 4
- name: Jerry
age: 5
users: #对象数组格式二
-
name: Tom
age: 4
-
name: Jerry
age: 5
users2: [ { name:Tom , age:4 } , { name:Jerry , age:5 } ] #对象数组缩略格式
五、读取application文件中的数据:
1、@Value注解:
@Value({一级属性名.二级属性名.....})
注意:@Value注解配合spEL可以读取数据,但是只能读取单个数据
2、Environment对象:
SpringBoot中提供了Environment对象,通过@Autowire注入该对象即可通过该对象的getProperties(参数名)方法读取数据
注意:虽然该对象中拥有application文件中的所有数据,但是程序员只能通过getProperties方法一个一个的拿数据
3、@ConfigurationProperties注解:
通过@ConfigurationProperties注解标注Bean,并使用注解中的prefix属性指定要映射的前缀,SpringBoot即可自动完成注入(要求属性名称与配置名称相同)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wj1AkcIf-1691132231862)(assets/image-20230728221230910.png)]
六、在application文件中使用${}引用变量:
baseDir: /usr/local/fire
center:
dataDir: ${baseDir}/data
tmpDir: ${baseDir}/tmp
七、程序打包:
如果是maven项目,可以使用maven的打包命令 nvm package 命令进行打包
注意:pom.xml文件中的如下配置不能删除,否则打包后无法正常运行
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>