springboot의 기본 로딩 경로는 무엇입니까?

王林
풀어 주다: 2023-05-15 22:16:04
앞으로
1108명이 탐색했습니다.

1. application.properties/.yml 파일에 대한 첫 소개

앞서 언급한 것처럼 application.properties 파일은 구성되어 있지 않습니다. 이제 main/resources 폴더에 새로운 application.properties 파일을 생성하고 다음과 같은 구성을 작성합니다

springboot의 기본 로딩 경로는 무엇입니까?

그런 다음 프로젝트를 시작합니다.

springboot의 기본 로딩 경로는 무엇입니까?

자, 위의 시작 결과 스크린샷을 보면 "9090" 포트에서 서비스가 시작되는 것을 볼 수 있습니다. 그런 다음 이 디렉터리에 application.yml 파일을 구성하면 시작 결과는 다음과 같습니다. 서비스가 여전히 포트 "9090"에서 시작되는 것을 확인할 수 있습니다. 이러한 이유로 우리는 다음과 같은 결론을 내립니다. 동일한 폴더에 두 개의 파일 application.properties와 application.yml이 있는 경우 application.properties 파일이 application.yml 파일을 덮어쓰고 application.properties 파일이 적용됩니다.

yml 파일이란 무엇인가요?springboot의 기본 로딩 경로는 무엇입니까?

Yml은 데이터를 직렬화하는 매우 직관적인 방법인 YAML(YAML Aint Markup Language)로 작성된 파일 형식입니다. 이는 XML 및 속성 파일과 유사한 매우 단순한 새로운 파일 형식입니다.

2. application.properties/.yml 파일이 다른 경로에 있을 수 있나요?

springboot의 기본 로딩 경로는 무엇입니까?이 제목을 본 친구들은 분명히 'application.properties가 다른 경로에 있을 수 있나요?'라고 물을 것입니다. main/resources 폴더에 application.properties/.yml을 넣습니다. 프로젝트가 실행되면 이 폴더의 파일이 클래스 폴더에 복사되므로 이 경로를 classpath라고도 합니다.

springboot 소스 코드에서 "application.properties"를 검색하고 ConfigFileApplicationListener와 같은 클래스를 찾으세요. 이 클래스의 주석에 다음 단락이 있습니다.

* {@link EnvironmentPostProcessor} that configures the context environment by loading * properties from well known file locations. By default properties will be loaded from * 'application.properties' and/or 'application.yml' files in the following locations: * 
    *
  • file:./config/
  • *
  • file:./config/{@literal *}/
  • *
  • file:./
  • *
  • classpath:config/
  • *
  • classpath:
  • *
로그인 후 복사

대략 "EnvironmentPostProcessor가 잘 알려진 파일 경로에서 속성을 로드합니다. 컨텍스트 환경을 구성합니다. 기본 속성은 application.properties/application.yml 파일에서 제공됩니다. 이러한 파일은 다음 경로 ",

file"의 루트 폴더(프로젝트 폴더) 아래 config 디렉터리

file:./에서 제공됩니다. :./config/ config/{@literal *}/ config/*/ 루트 파일 폴더(프로젝트 폴더) 하위

file:./

classpath:config/ 루트 파일 폴더(프로젝트 폴더) 하위 classpath 하위 config ) /

classpath: 클래스 경로 아래

좋아, 우리는 이미 application.properties/application.yml 파일이 위 위치에서 로드된다는 것을 알고 있으며 우리가 구성한 기본/리소스는 실제로 위 클래스 경로입니다. 이러한 경로에도 순서가 있습니까? 계속해서 ConfigFileApplicationListener 클래스를 살펴보고 아래와 같은 속성을 확인하세요.

// Note the order is from least to most specific (last one wins) private static final String DEFAULT_SEARCH_LOCATIONS = "classpath:/,classpath:/config/,file:./,file:./config/*/,file:./config/";
로그인 후 복사

이 DEFAULT_SEARCH_LOCATIONS가 위의 값을 지정한다는 것을 알 수 있지만 위의 설명은 매우 흥미롭습니다. 잘 번역되지 않았는데, 예문을 통해 확인해 보겠습니다. 이제 application.properties 및 application.yml의 우선 순위를 알았으므로 application.properties 파일을 사용하여 resources/config(실행 경로: classpath:/config/) 아래에 application.properties가 있는지 확인할 수 있습니다.

현재 어떤 포트가 사용되고 있는지 살펴보세요.

은 9092를 사용하고 있습니다. 이는 resources/config가 resources, 즉 classpath:/config/>classpath:/보다 우선순위가 높다는 것을 의미합니다. file:/

springboot의 기본 로딩 경로는 무엇입니까?

을 살펴보겠습니다. 프로젝트의 루트 경로 아래에 새 application.properties 파일을 만들었습니다. 시작 server.port는 9093입니다. 서비스가 사용하는 포트를 살펴보겠습니다. 9093. , 우선순위는 file:/>classpath:/config/>classpath:/입니다. 이제 프로젝트 경로에 config/my/ 경로를 추가하고 application.properties 파일을 추가합니다.

springboot의 기본 로딩 경로는 무엇입니까?

테스트 결과는 다음과 같습니다.

springboot의 기본 로딩 경로는 무엇입니까?

서비스는 포트 "9094"에서 시작되며, 이는 우선순위가 file:./config/*/>file:./>classpath:/>classpath:/config/임을 나타내며 마지막 확인 포인트는 다음과 같습니다. file:/ config, 이것은 검증할 필요가 없으며 가장 높은 우선순위를 가져야 한다고 생각합니다. 따라서 우선순위는 높은 것부터 낮은 것 순입니다: file:./config/ > file:./ > classpath:/ > classpath:/config/, 프로젝트 루트 경로 아래 config/*/ 프로젝트 루트 경로 > classpath:/config>classpath:/

위 내용은 springboot의 기본 로딩 경로는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!