프로젝트 클래스에는 시스템이 자동으로 검색하는 네 가지 위치가 있습니다.
1 .file :/config/
2.file:/
3.classPath:/config/
4.classPath:/
1) 해당 파일은 위에서 아래로 적용 우선 순위 수준을 갖습니다. 다른 경로의 동일한 속성은 위의 경로 속성(1>2>3>4)에 우선순위를 부여합니다
2) 경로 검색 순서는 우선순위(4>3>2>1)와 반대입니다. 하나는 이전 경로를 덮어쓰고 모든 경로는 서로를 보완하기 위해 스캔됩니다.
application.properties(application.yml), bootstrap.properties(bootstrap.yml) 로드 순서 및 우선순위
1. 애플리케이션 및 부트스트랩 비교(접두사 비교)
팁: Bootstrap 유형 파일은 springcloud 관련 구성이 다중 서비스 프로젝트에 도입된 경우에만 적용됩니다. Springboot는 부트스트랩 파일을 자동으로 검사하지 않고 애플리케이션 파일만 검사하므로 두 파일 간의 비교는 springcloud 다중 서비스 프로젝트에서만 의미가 있습니다.
1) 로드 순서: 애플리케이션과 부트스트랩이 동일한 디렉토리에 있는 경우: 부트스트랩이 먼저 로드되고 애플리케이션이 나중에 로드됩니다.
Bootstrap 속성은 우선순위가 더 높으며 기본적으로 로컬 구성에 의해 재정의되지 않습니다. (인터넷이나 관계자들이 하는 말이지만, 직접 테스트한 결과 애플리케이션이 부트스트랩보다 우선한다는 사실을 발견했습니다. 제가 이해한 바는 모든 부트스트랩 속성이 애플리케이션보다 우선순위가 높다는 것입니다. 기반 시스템과 관련된 구성만 더 높을 것입니다. 거기에 의견이 다릅니다. 토론을 환영합니다)
3) 차이점: 부트스트랩과 애플리케이션 모두 매개변수를 구성하는 데 사용할 수 있습니다.
Bootstrap은 초기 애플리케이션 부트스트랩 및 구성 정보 읽기에 사용됩니다. 이는 시스템 수준의 일부 매개변수 구성으로 이해될 수 있습니다. 이러한 매개변수는 일반적으로 변경되지 않습니다. 부트스트랩이 로드되면 콘텐츠를 덮어쓰지 않습니다.
application.yml은 애플리케이션 수준, 애플리케이션별 구성 정보를 정의하는 데 사용할 수 있으며 후속 모듈 등에서 사용할 공개 매개변수를 구성하는 데 사용할 수 있습니다.
4) 부트스트랩의 일반적인 적용 시나리오(클래식 3점)
1. Spring Cloud Config Server 구성 센터를 사용하는 경우 bootstrap.yml의 spring.applicatio 구성 파일에 n.name 및 spring을 지정해야 합니다. .cloud.config.server.git.uri, 구성 센터에 연결된 구성 속성을 추가하여 외부 구성 센터의 구성 정보를 로드합니다
2. 재정의할 수 없는 일부 고정 속성
3. /decryption 시나리오
2. .properties 및 .yml 비교(접미사 비교)
1) .properties보다 먼저
.yml 로드 순서
2) 우선순위 수준
.properties가 .yml보다 우선합니다. 나중에 .properties를 로드하면 .yml
3) Differences
1.yml이 자연적인 트리 구조를 가지며 속성은 키-값 쌍입니다.
2 속성 파일은 "."으로 분할됩니다. , ":"는
3. .yml에서 들여쓰기에 TAB을 사용하면 안 됩니다. 그렇지 않으면 매우 이상한 오류가 보고됩니다.
4.yml이 .properties보다 낫습니다. 중국 지원에 더 우호적입니다.
5.yml은 교차 언어입니다. JAVA, go, python 등 다양한 언어에서 사용할 수 있습니다. 예를 들어 클라우드 컴퓨팅에 go와 java를 사용할 때 동일한 언어를 사용할 수 있습니다. 구성 센터를 통해 구성하세요!
6. 구성 파일을 사용자 정의할 때 속성만 사용할 수 있습니다. 왜냐하면 spring에는 사용자 정의 주석을 도입할 수 있는 @PropertiesSource 주석만 있고 yml
요약: 동일한 디렉터리에서 우선 순위는 level application> bootstrap,.properties>,yml, 접두사가 접미사보다 크고, 파일 경로가 파일 이름보다 큽니다
1. 항아리에 넣는 방법.
<packaging>jar</packaging>
2.yml 파일의 축소 형식이 잘못되었을 수 있으니 주의 깊게 확인하세요.
3. 또한 귀하의 프로젝트는 전혀 부팅 프로젝트가 아닙니다. application.yml에는 리프 표시가 없습니다
1. 프로젝트 구조를 클릭하세요
2. 모듈을 열고 한 번 클릭하세요
3.
4. 리팩토링 프로젝트
위 내용은 springboot는 구성 파일 경로의 순서와 우선순위를 어떻게 찾나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!