이 문서는 부분 생성, 마이크로 채널 애플릿 소스, 환영주의 표시 재현 小白AI博客
마이크로 채널 대중 번호 小白AI
또는 웹 사이트 xiaobaiai.net 또는 내 CSDN의 blog.csdn.net/freeape을
[TOC]
0 소개
실제 프로젝트 개발을 입력, 우리가 기본 전역 구성 파일에 의존하지 않는 application.properties
우리의 프로젝트를 구성, 봄 부팅 구성 파일, 관심을 필요로하는 많은 분야가, 마스터, 당신은 쉽게 우리가 중류에서 프로젝트를 수행하도록 할 수 있습니다 다양한 구성의 가장자리, 참조의 미래를 촉진 할뿐만 아니라, 한 눈에 명확하고 분명 계층 모듈 서면 요약을 구성 할 수 있습니다. 기사의 내용은 봄이 11 월 이후 (21), 2019 현재의 최신 구성 파일 내용, 작성 최신 공식 문서에 대한 모든 참조를 소개하는 것입니다 5.2.1
버전, 봄 부팅이 2.2.1
버전.
우리는 1을 이해할 필요가
Spring Boot
제공 spring-boot-devtools
항아리 패키지 프로그램 개발의 몇 가지 편리한 기능을 제공, 주요 변경 사항이 자동으로 다음 다시 시작할 모니터링 프로그램입니다합니다. 사용 spring-boot-devtools
할 필요가 pom.xml
동시에 요구에 종속성을 추가 설정한다 . 기본은한다 에 의해 영향 받아 플러그인을 포장 할 때 기본값이 포함되지 않습니다 .
spring-boot-devtools
开发环境
Spring Boot
spring-boot-devtools
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>复制代码
2 소개 및 글로벌 개요
크리에이트 Spring Boot
나중에 프로젝트를, 그것은 것입니다 src/main/resources
기본적으로 글로벌 구성 파일 디렉토리를 생성 application.properties
,하지만 내용은 무엇 없습니다. 봄 부팅은 모든 기본 구성 매개 변수가 자동으로 구성되어있는 (https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html), 우리는 외부 구성에있는 경우 구성 파일을 수정, 기본 구성 매개 변수 (외부화 된 구성, 수정 될 구성 외부화를 구성을 외부화) 여러 사용자가 속성 파일 (등록 정보 파일)를 사용 할 수있는 방법, YAML 파일, 환경 변수, 명령 줄 인수가 있습니다 구체화 된 구성은 다음의 내용을 상세히 설명한다.
예를 들어, 구성 파일이 될 수 있습니다 application.properties
중 하나를 application.yml
그냥 구성 구문 일부에 비해 명확한 형식 속성에 그냥 같은, YML 레벨 포맷 내부 구성 할 수 있습니다.
.properties
작성 :
server.port = 9090
spring.application.name = demoservice复制代码
.yml
작성 :
spring:
application:
name: demoservice
server:
port: 9090复制代码
참고 : YML 형식 탭, 콜론과 값 사이에 공간이 있어야합니다 탭을 사용하지 않아야합니다.
봄 부팅 우리는 다음과 같이 여기에 요약, 관심을 지불 할 필요가 (덮개) 시퀀스의 매개 변수를 다시 작성해야 :
- 때
Devtools
시간,$HOME/.config/spring-boot
글로벌 폴더 속성 설정을 DevTools로 @TestPropertySource
시험에 대한 메모- 테스트
properties
. 에서는@SpringBootTest
응용 프로그램의 특정 부분을 테스트하기위한 테스트 및 코멘트를 제공 - 명령 줄 매개 변수
- 에서
SPRING_APPLICATION_JSON
속성 (JSON 시스템 또는 환경 변수 특성을 포함) ServletConfig
초기화 매개 변수ServletContext
초기화 매개 변수- JNDI 특성 :
java:comp/env
- Java 시스템 등록 정보 :
System.getProperties()
- 시스템 환경 변수를 작동
RandomValuePropertySource
, 그것의 속성에서만random.*
- 포장
jar之外
특정 애플리케이션 프로파일은 특성 (예를 들어application-{profile}.properties
상기 대응하는 변수 YAML) - 패키지화
在jar中
제 (예를 들어, 프로필에 특이 적 응용 성을application-{profile}.properties
가변 YAML) - 패키지
jar之外
프로그램 속성 (application.properties
변수 YAML) - 패키지
在jar中
프로그램 속성 (application.properties
변수 YAML) @Configuration
클래스에@PropertySource
노트- (설정하여 기본 특성
SpringApplication.setDefaultProperties
지정)
상술 한 순서가 적용되는 방법을 설명하는 구체적인 예로서 :
import org.springframework.stereotype.*;
import org.springframework.beans.factory.annotation.*;
@Component
public class MyBean {
@Value("${name}")
private String name;
// ...
}复制代码
예를 들어, 애플리케이션 클래스 경로 (예를 들면, 포장 在jar内
시)하는있을 수 application.properties
파일, 파일은 name
일련의 기본 속성의 속성 값. 새로운 환경에서 실행이 가능 在jar外部
제공 application.properties
재정의 포함하는 파일 在jar内
의 application.properties
. 다른 예는 일회용 시험 특정 명령 줄 시작 스위치를 사용할 수있다 (예를 들면 java -jar app.jar --name="Spring"
) 커버 될 수 name
속성치. 다른 예 JSON 포맷 환경 변수 수 $ java -Dspring.application.json='{"name":"test"}' -jar myapp.jar
덮여. 그렇지 않으면없는 하나의 예를 하나.
3 구성 파라미터
그리고 순서 매개 변수 설정 3.1 디렉토리와 부하 우선 순위의 역할
이 두 가지 구문 파라미터,있다 properties
, 하나는 yml
, SpringApplication
로부터 application.properties
파일의 다음과 같은 속성의 적재 위치 및에 추가 Spring环境
.
- 현재 프로젝트 디렉토리
config
하위 디렉토리 - 현재 프로젝트의 루트 디렉토리
- 클래스 경로 설정 디렉토리
config
하위 디렉토리 - 설정 클래스 경로 디렉토리
위의 목록은 우선 순위에 따라 정렬 (속성 정의를 덮는 하부 위치에 정의 된 속성 목록에서 더 높은 위치에서 상기 커버 제 속성 세트의 속성 값과 같은 속성 값).
참고 : 받는다는, src / main / resources 디렉토리에 프로젝트를 빌드 할 때하면 기본 클래스 경로입니다
또한 그 YML 점 및 특수 용도에 따라 여기에 있습니다.
- YML 형식은 탭 탭, 콜론과 값 사이에 사용할 수 없습니다
一定要有空格
一定要有空格
一定要有空格
- YML 따옴표는 특수 문자는 특수 문자 출력 기능 자체와 같은 내부 문자열을 탈출하지 않습니다
- YML 특수 문자, 문자열 내부에 원래 문자의 출력을 작은 따옴표를 이스케이프합니다
# 下面会输出得到hello换行xiaobaiai.net
name: "hello\nxiaobaiai.net"
# 下面会输出得到hello\nxiaobaiai.net
name: 'hello\nxiaobaiai.net'复制代码
- YML 지원 객체, 배열, 스칼라 (문자열, 부울 참 / 거짓의, 정수, 부동 소수점, 널, 시간, 날짜
new Date('1976-07-31')
)
# 对象行内写法
students: { name: Steve, age: 22 }
# 数组行内写法
animal: [Cat, Dog]
# 或者数组非行内写法
animal:
- Cat
- Dog复制代码
임의의 구성 파라미터를 3.2 생성 값들
파라미터 또는 일부 테스트 시나리오에서 임의의 값을 생성하는 것이 유용 구성입니다.
우리의 구성과 같은 :
#random int
app.location-x=${random.int}
app.location-y=${random.int}
#random int with max
app.user-age=${random.int(100)}
#random int range
app.max-users=${random.int[1,10000]}
#random long with max
app.refresh-rate-milli=${random.long(1000000)}
#random long range
app.initial-delay-milli=${random.long[100,90000000000000000]}
#random 32 bytes
app.user-password=${random.value}
#random uuid. Uses java.util.UUID.randomUUID()
app.instance-id=${random.uuid}复制代码
최종 출력 :locationX=-449689812, locationY=-2048116572, userAge=88, maxUsers=8927, refreshRateMilli=418859, initialDelayMilli=12542150790115755, userPassword=95ea8b43fd16dc26aad0030c1340e723, instanceId=bd252902-54e9-47b3-bebf-a81b1300ff69
3.3 변수 참조 (자리)
파라미터 값이 이전 파라미터 플레이스 홀더 구성으로 정의 될 수는 다음과 같은 기준에 의해 실현 될 :
app.name=MyApp
app.description=${app.name} is a Spring Boot application复制代码
어떤 사람들은 사용 (예를 들어) 좋아하는 --port=9000
대신 --server.port=9000
명령 줄에서 구성 속성을 설정. 에 의해 application.properties
사용 占位符
이 동작을 가능하게합니다 :
server.port=${port:8080}复制代码
참고 : 상속하는 경우
spring-boot-starter-parent
POM, 자원에서 마커를 선별 플러그인 받는다는 기본${*}
변화@
(예,@maven.token@
대신${maven.token}
봄 스타일 자리와 충돌을 방지하기 위해). 직접 경우application.properties
필터링이 활성화 받는다는, 당신은 대신에 다른 구분 기호로 표시된 기본 필터를 변경해야 할 수도 있습니다@
.
3.4 사용자 프로필
3.4.1 방법
당신이하지에 같이 할 경우 application.properties
프로파일 이름으로, 당신은 지정할 수 있습니다 spring.config.name
, 환경 프로퍼티의 다른 파일 이름에 스위치를. 당신은 또한 사용할 수있는 spring.config.location
위치 프로파일을 지정하는 환경 특성 (경로의 파일이나 디렉토리 위치 목록을 쉼표로 구분). 다른 파일 이름을 지정하는 방법 다음 예제 쇼 :
$ java -jar myproject.jar --spring.config.name=myConfig复制代码
이 개 위치를 지정하는 방법 다음 예제 쇼 :
$ java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties复制代码
경우 spring.config.location
디렉토리 (아닌 파일), 당신이해야 할 /
말과 구성을로드하기 전에, 실행, 당신은에 연결해야 spring.config.name
구성하거나 기본 구성 이름의 이름입니다. 기본 구성이 아닌 spring.config.location
구성 파일 검색 순서 :
file:./config/
file:./
classpath:/config/
classpath:/复制代码
사용자 정의 배열 위치를 사용하여 구성 spring.config.location
, 그들은 기본 위치를 대체합니다. 예를 들어, spring.config.location
설정 값 classpath:/custom-config/,file:./custom-config/
, 검색 순서가된다 :
file:./custom-config/
classpath:custom-config/复制代码
사용자 정의 구성이 위치를 배열 할 때 spring.config.additional-location
, 추가 구성 경로 이외에, 당신은 기본 위치를 사용합니다. 기본 위치 전에 다른 위치를 검색합니다.
참고 : 프로그래밍 환경에서, spring.config.name이 적용되지 않습니다 application.properties에 직접에만 명령 줄이나 설정 환경 변수를 제공
export SPRING_CONFIG_NAME=myConfig
, 또는 지정된 경로에있는 코드에서 드 코드를 수동으로 가져 오기 구성 파일을.
3.4.2 두 번째 방법
이 섹션의 뒷부분에 언급 한 사용자 지정 속성이 방법으로, 사실, 달성하기 위해 구성 파일을로드를 직접 코딩하는 것입니다 지정한 것과 같은 만 더 지정된 파일 이름의 의견보다 자세한 내용은 작업 뒤에 볼 수 있습니다. 예를 들어, 우리는 만들 수 test.properties
도있는 경로에 src/main/resources
다음과 같은 :
my.app.name=hello
my.app.func=test复制代码
그런 다음 새 매개 변수 콩을 만듭니다
@Configuration
@ConfigurationProperties(prefix="my.app")
@PropertySource("classpath:test.properties")
public class ConfigTestBean {
private String name;
private String func;
// 省略getter和setter
}复制代码
그래 그래서, 사용자 정의 구성 매개 변수 섹션을 볼 수있는 검증 방법이다.
3.5 명령 행 구성 파라미터
기본적으로 SpringApplication
(즉, 명령 줄 옵션 매개 변수 --
, 예를 들어, 시작 매개 변수 --server.port=9000
특성에), 그리고에 추가 Spring环境
. 네번째 특성하기 위하여 명령 라인 상술 한 바와 같이, 우선 순위는 항상 소스 등록 이하이다.
당신이 봄 명령 줄 속성에 원하지 않는 경우 环境
, 당신은 프로그램을 사용할 수 있습니다 SpringApplication.setAddCommandLineProperties(false)
을 해제 할 수 있습니다.
3.6 속성 별 구성 파일 (활성화 프로필)
외에 application.properties
문서, 다음의 명명 규칙은 특정 속성 프로파일을 정의 할 수있다 : application-{profile}.properties
. 환경이 활성 프로파일이 기본 설정되지 않은 경우, 디폴트 구성 파일 (기본적으로 기본 프로파일, 즉 application-default.properties) 세트가 application-default.properties
의 파일 또는 로딩 순서 및 우선 순위 application.properties
같은. Spring
또한, 구조를 포함하는 콩, 의존성,로드, 다른 환경 프로파일 판정 프로그램에서 구현 될 수있다 Spring
DEV (현상), 테스트 (단위 테스트) QA (통합 테스트), 생산성 (생산 환경) 상기 프로파일 일반 아이템. 마찬가지로 메이븐 또한 프로파일 구성은, 각각의 프로파일이 제공 될 수있는 구성에 의존 행동있어서, 다른 프로파일 환경 다른 작업을 위해 제작 과정에서 수행 될 수있다 : ID (고유 ID), 속성 (구성 등록) 활성화 등 (로직 자동으로 트리거 조건), (종속) 종속성 및.
여기에, 어떻게 프로필을 활성화? 여기에 세 가지 방법이 있습니다.
참고 :이 구성 파일과 애플리케이션 - {프로필} .properties 파일은, 우선 순위가 application.properties보다 높은 다시
加载顺序
문제가되지 않습니다. 동일한 특성을 가진 애플리케이션 - 프로필} {.yml 파일을 생성한다.
3.6.1 방법
구성 파일 설정에서,이 방법은 유연 이하 실제 개발이 사용됩니다 아니다
spring.profiles.active=test复制代码
3.6.2 두 번째 방법
예 메이븐에 패키징 할 때 대체 도입부
첫 번째 단계 (package.target 맞춤 매개 변수)에 속성을 추가 :
[email protected]@复制代码
두 번째 단계의 다른 환경에서 증가 pom.xml 파일 구성을 패킹 :
<!-- 与Maven build标记并列 -->
<profiles>
<!-- 开发环境 -->
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<package.target>dev</package.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</dependency>
</dependencies>
</profile>
<!-- 生产环境 -->
<profile>
<id>prod</id>
<properties>
<package.target>prod</package.target>
</properties>
</profile>
</profiles>复制代码
상기 구성으로부터 알 수있는 바와 같이, 받는다는 개의 프로파일 구성 : 디바이스 및 자극, 어떤 자극하는 반면 (예를 들면 제조 환경에서 사용 개발 외부 Tomcat 구성 시나리오를 사용하는 것과, 내장 디바이스 톰캣 사용 내부 톰캣).
세 번째 단계는 "@ XXX @"건물에 표현에 필터의 속성을 수정 달성하기 위해 자원을 추가 할 자원 메이븐 플러그인의 사용 :
...
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<!-- Maven build标记内 -->
<resources>
<!-- 不加该resource也可以 -->
<resource>
<directory>src/main/resources</directory>
<excludes>
<!-- 排除掉src/main/resources下的所有application*.properties文件 -->
<exclude>application*.properties</exclude>
</excludes>
</resource>
<resource>
<!-- 指定要处理的资源目录 -->
<directory>src/main/resources</directory>
<!-- 是否替换@xx@表示的maven properties属性值 -->
<filtering>true</filtering>
<includes>
<!-- 将文件内容的“@xx@”替换为相应的变量,即package.target -->
<include>application-${package.target}.properties</include>
</includes>
</resource>
</resources>复制代码
네 번째 단계는 패키지를 컴파일하는 것입니다 :
# 根据Maven Profile的 dev 构建环境包
$ mvn clean package -Dmaven.test.skip=true -Pdev复制代码
3.6.3 세 가지 방법
시스템 환경 변수를 설정하면 :
export SPRING_PROFILES_ACTIVE=dev复制代码
3.6.4 다른 방법
자바 커맨드 라인 모드 설정 :
# 方式一
$ java -jar app.jar --spring.profiles.active=dev
# 方式二
$ java -jar -Dspring.profiles.active=dev demo-0.0.1-SNAPSHOT.jar复制代码
주석 방법 ( @ActiveProfiles
단위 테스트에서 제공하는 코멘트 봄 부트의 시험 스타터는 더 유용하다 /src/test/java
사용) :
@ActiveProfiles("dev")复制代码
3.6.5 YML 특별한 방법
YAML 파일이 실제로 할 수 있습니다 ---
문서의 일련의 별도의 행, 각 문서는 별도로 확장 된 구성에 매핑 구문 분석됩니다. 데브 또는 생산은 환경 변수 또는 클래스의 커맨드 라인 모드가 지정되어 같은 방식을 활성화합니다.
# 通用属性
server:
port: 9000
---
# dev环境下配置
spring:
profiles: dev
server:
port: 9001
---
# production生产环境下配置
spring:
profiles: production
server:
port: 0复制代码
3.7 사용자 정의 속성
Spring
이미 우리에 대한 기본 매개 변수를 많이 제공하지만, 우리는 또한 자신의 구성 매개 변수를 만들 수 있습니다. 예를 들어, 우리는 application.properties
다음과 같은 사용자 지정 속성을 만든 :
#random int
app.location-x=${random.int}
app.location-y=${random.int}
#random int with max
app.user-age=${random.int(100)}
#random int range
app.max-users=${random.int[1,10000]}
#random long with max
app.refresh-rate-milli=${random.long(1000000)}
#random long range
app.initial-delay-milli=${random.long[100,90000000000000000]}
#random 32 bytes
app.user-password=${random.value}
#random uuid. Uses java.util.UUID.randomUUID()
app.instance-id=${random.uuid}复制代码
그런 다음 해당 자바 매개 변수 구성 요소를 만들 MyAppProperties.java
:
@Component
@ConfigurationProperties("app")
public class MyAppProperties {
private int locationX;
private int locationY;
private int userAge;
private int maxUsers;
private long refreshRateMilli;
private long initialDelayMilli;
private String userPassword;
private UUID instanceId;
public int getLocationX() {
return locationX;
}
public void setLocationX(int locationX) {
this.locationX = locationX;
}
public int getLocationY() {
return locationY;
}
public void setLocationY(int locationY) {
this.locationY = locationY;
}
public int getUserAge() {
return userAge;
}
public void setUserAge(int userAge) {
this.userAge = userAge;
}
public int getMaxUsers() {
return maxUsers;
}
public void setMaxUsers(int maxUsers) {
this.maxUsers = maxUsers;
}
public long getRefreshRateMilli() {
return refreshRateMilli;
}
public void setRefreshRateMilli(long refreshRateMilli) {
this.refreshRateMilli = refreshRateMilli;
}
public long getInitialDelayMilli() {
return initialDelayMilli;
}
public void setInitialDelayMilli(long initialDelayMilli) {
this.initialDelayMilli = initialDelayMilli;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public UUID getInstanceId() {
return instanceId;
}
public void setInstanceId(UUID instanceId) {
this.instanceId = instanceId;
}
@Override
public String toString() {
return "MyAppProperties [locationX=" + locationX + ", locationY=" + locationY + ", userAge=" + userAge
+ ", maxUsers=" + maxUsers + ", refreshRateMilli=" + refreshRateMilli + ", initialDelayMilli="
+ initialDelayMilli + ", userPassword=" + userPassword + ", instanceId=" + instanceId + "]";
}
}复制代码
@ConfigurationProperties
참고하는 Spring Boot
모든 속성을 결합하여 구성 파일은 해당 구성의 클래스를 선언합니다. prefix = "app"
( prefix=可省略
) : 구성 접두사 문, 접두사 매핑의 모든 속성. @Component
또는 @Configuration
: 추가 구성 요소 Spring Boot
컨테이너는 만 용기 조립 부품을 적용하려면 구성되어 있습니다.
팁 : 수있는
@Value("${key}")
구성 파일 속성 읽기,key = properties
등호의 왼쪽 파일의 주요 부분을. 주입이 발생합니다 유효한 전자 메일 주소가 아닌 경우 자바 컴포넌트에서 우리는 매개 변수를 정의, 당신은 또한, 메시지 변수에 추가 등 @ 이메일과 같은 특정 매개 변수의 주장을 주석을 달 수 있습니다. 이러한 통계는@AssertFalse
거짓 확인@AssertTrue
사실 패리티를,@DecimalMax(value=10,inclusive=true)
이하, 10과 동일 포함 = TRUE보다 이하 동일@DecimalMin(value=,inclusive=)
,@Max(value=)
같거나 값 이하@Min(value=)
거나 같음 값보다@Past
시험일,@Pattern(regex=,flag=)
일반@Validate
포 엔티티 클래스처럼 확인하기.
마지막으로, 우리는 의존에 가입해야합니다 spring-boot-configuration-processor
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 加入spring-boot-configuration-processor -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>复制代码
우리의 사용자 정의 구성을 확인 :
@SpringBootApplication
public class Test07HelloworldApplication {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(Test07HelloworldApplication.class, args);
MyAppProperties bean = context.getBean(MyAppProperties.class);
System.out.println(bean.toString());
}
}
// output
// MyAppProperties [locationX=1329054364, locationY=1100464591, userAge=99, maxUsers=8007, refreshRateMilli=733281, initialDelayMilli=54489880705550952, userPassword=76aebd15270f7065adf3d31b5a790829, instanceId=681ed3a4-a561-460c-b826-58229c31b055]复制代码
4 요약
상술 데모 대조 샘플 코드가 될 수 실제 내용 대부분 후 github.com/yicm/Spring ... 발견. 이 장에서는 구성 파일 더 많은 콘텐츠 사항,하지만 우리는 내가이 요약 같았다 몇 가지 포인트가 있습니다
- 봄 부팅, 우리는 구성 매개 변수에 대한 이러한 값을 재정의 할 수 있습니다 기본 구성의 많은 우리를 제공하고 재 작성하는 방법 (범위)의 다양성을 제공하고, 재 사이의 모드 우선 순위
- 봄 부팅 응용 프로그램은 다른 위치에 구성 파일을로드 할 수 있습니다
application.properties(yml)
, 이러한 위치는 우선 순위에 - 그것은 봄 부팅 사이의 매개 변수 자리에서 참조 할 수 있지만, 명령 줄 매개 변수 이름의 자리로 단순화 될 수있다
- 봄 부트는 사용자 정의 매개 변수를 지원할 수
- 봄 부팅 사용자 정의 구성 파일 이름을 지원합니다
- 봄 부팅 구성 스위치는 여러 개의 파일을 지원할 수있는
application-{profile}.properties(yml)
프로필을 활성화하고 활성화 프로필 여러 가지 방법이 있습니다
위의 요약의 구체적인 내용을 알고 있다면, 당신은 거의가이 블로그는 이해합니다.
5 참고
- https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html
- https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-yaml
- https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config
- https://docs.spring.io/spring-boot/docs/2.2.1.RELEASE/api//org/springframework/boot/SpringApplication.html
- https://docs.spring.io/spring/docs/5.2.1.RELEASE/javadoc-api/org/springframework/test/context/TestPropertySource.html
- https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-testing-spring-boot-applications-testing-autoconfigured-tests
- http://www.ruanyifeng.com/blog/2016/07/yaml.html
- https://yaml.org/spec/1.2/spec.html
- https://segmentfault.com/a/1190000011770028
이 문서는 부분 생성, 소스를 표시, 복제, 환영주의 CSDN의 freeape 또는 마이크로 편지 애플릿 小白AI博客
마이크로 채널 대중 번호 小白AI
나 웹 사이트 xiaobaiai.net