💟💟前言 友友们大家好,我是你们的小王同学😗😗 今天给大家打来的是 SpringBoot依赖原理分析及配置文件 希望能给大家带来有用的知识 小王的主页:小王同学🚗 小王的gitee:小王同学🏩🏩 小王的github:小王同学💦
spring-boot-starter-parent
中定义了各种技术的版本信息,组合了一套最优顶配的技术版本starter
中定义了该功能需要的坐标合集,其中大部分版本信息来自父工程parent
,引入starter
后,通过依赖传递,就可以简单获得需要的jar包,并且不会存在版本冲突等问题springboot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties
或者application.yml
(application.yaml
)进行配置
server.port = 8080
这里的8080指的是tomcat默认启动的端口号
server : port : 8080
注意这里8080的前面必须加空格 否则会产生语法错误!!
打开idea 点击application.properties
运行application 在浏览器输入8082/Hello 即可运行
我们也可以创建一个application.yml
文件里面更改端口号
如下:
成功!! SpringBoot提供了2种配置文件
注意:如果在一个springboot项目里有三个配置端口的文件
优先级最高的一定是application.properties
propertei
s 和 yml
/ yaml
application
properties 和 yml 都是 Spring Boot 支持的两种配置文件,其中 yml 格式的配置文件可以看作是对 properties 配置文件的升级。它们的主要区别有 4 点:定义和定位不同、语法不同:yml 的语法更简单,且可读性更高、yml 可以更好的配置多种数据类型,比如对象和集合、yml 可以跨语言使用
,通用性更好
。
properties文件是最早期的配置文件,也是创建SpringBoot项目默认的文件
properties是以键值的形式配置的 key 和 value是以 " = " 来连接的~~
server.port=3000
mytest1:??
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=
utf8
spring.datasource.username=root
spring.datasource.password=root
小tips:配置文件用#
来注释!
key: value
”,注意 key 和 value 之间使⽤英⽂冒汗加空格的⽅式组成的,其中的空格不可省略。使用yml连接数据库
spring:
datasource:
url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
username: root
password: root
创建一个学生类
package com.example.demo;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties("student")
@Data
public class Student {
private int id;
private String name;
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
private int age;
}
定义setter
和 getter
以及toString
方法 这里可以 导入lombok
在maven里导入lombok
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
<scope>provided</scope>
</dependency>
这个时候不能用 @value来读取对象 要用 @ConfigurationProperties来读取!!
调用类的实现方法
@Component
public class ReadYml2 {
@Autowired
private StudentComponent studentComponent;
@PostConstruct
public void postConstruct() {
System.out.println(studentComponent);
}
}
以上程序的结果如下图所示:
当然yml 里面也可以这样写~
#student:
# id: 1
# name: 小王
# age: 18
student: {id: 1,name: 张三,age: 18 }
效果也是一样的~~ 这就是王同学给大家带来的SpringBoot文件配置