오늘 저는 사용자 정의 구성 정보를 읽는 것을 여러분과 공유하고 있습니다. 최근에 블로그를 작성할 계획이 있으며 SpringBoot에는 많은 장이있을 것으로 예상되므로 SpringBoot 및 SpringCloud에 기사를 횡단 할 것입니다. 따라서 클라우드 기사는 글을 쓰기 전에 오랜 시간까지 기다려야합니다. 이 두 기사를 공유하는 이유는 주로 정보 검색을 용이하게하고 친구가 사용할 편리한 역할을하기 때문입니다.
•@value tag reading (application.yml의 노드는 기본적으로 직접 읽을 수 있습니다)
• 엔티티 매핑 application.yml 노드
• 엔티티는 사용자 정의 구성 파일의 노드를 매핑합니다
• 엔티티는 다단계 노드의 값을 매핑합니다
@Value tag reading (application.yml의 노드는 기본적으로 직접 읽을 수 있습니다)
먼저, 기본 application.yml configuration 파일에서 다음 노드 정보를 사용자 정의하십시오.
Shenniu : 이름 : Shenniu 003
그런 다음 속성 값은 @Value 태그를 통해 직접 얻습니다. 데이터를 더 잘 표시하려면 A /Conf /Name 인터페이스가 인터페이스에 정의됩니다.
@Value ( "$ {shenniu.name}") 개인 문자열 이름; @getMapping ( "/conf/defname") public String getDefName () {return this.name; }실행 후 효과는 다음과 같습니다.
엔티티 매핑 application.yml 노드
기본 구성 파일 값을 엔티티 클래스로 매핑하려면 속성 이름 접두사 만 추가하면됩니다. 물론 이것은 default application.yml 파일의 속성에만 해당됩니다.
@configuration@configurationProperties (prefix = "shenniu") public class shenniuconf {private String name; 공개 문자열 getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } 개인 URL URL; public url geturl () {return url; } public void seturl (url url) {this.url = url; } 개인 문자열 des; 공개 문자열 getDes () {return des; } public void setdes (String des) {this.des = des; } public static class url {private String blogurl; 공개 문자열 getBlogurl () {return blogurl; } public void setBlogurl (String BlogUrl) {this.blogurl = blogurl; }}}나중에 테스트의 편의를 위해 엔티티 클래스에 몇 가지 속성을 추가했습니다. Application.yML을 구성하려면 @ConfigurationProperties (prefix = "shenniu") 태그 만 추가하면 접두사 값이 사용자 정의 구성 파일 속성의 접두사에 해당합니다. 여기에서 /conf /name 인터페이스가 추가되어 매핑 된 개체의 값을 출력합니다.
@autowired private shenniuconf shenniuconf; @GetMapping ( "/conf/name") public String getName () {return shenniuconf.getName (); }@Values 주석과 동일한 효과가 얻어 지므로 엔티티의 사용자 정의 속성과 구성 파일이 성공적으로 일치하고 기본 엔티티 속성 이름이 구성 파일 노드 이름과 일치해야합니다.
엔티티는 사용자 정의 구성 파일의 노드를 매핑합니다
Application.yml에서 속성 값을 읽는 것은 매우 간단합니다. 때로는 My.Properties와 같은 자신의 구성 파일을 사용자 정의해야하며 파일 내용은 다음과 같습니다.
shenniu.des = 나는 내 모국어 shenniu.url.blogurl = http : //www.a.com을 사랑합니다
매핑 엔티티는 여전히 위에 사용되지만 사용자 정의 파일 소스를 나타내려면 주석 @propertysource ( "classpath : my.properties")를 엔티티에 추가해야하며 노드 접두사를 지정하려면 접두사도 필요합니다. 다음 디스플레이 인터페이스를 추가합니다.
@autowired private shenniuconf shenniuconf; @GetMapping ( "/conf/des") public String getDes () {return shenniuconf.getDes (); }엔티티는 다단계 노드의 값을 매핑합니다
일반적으로 사용자 정의 구성 노드에는 계층 적 관계가 있으므로 엔티티가 어떻게 다른 수준에서 속성 값을 얻을 수 있습니까? 실제로, 위의 Shenniuconf 엔티티의 URL 엔티티 클래스 속성과 같은 엔티티 클래스의 계층 관계를 통해서만 표현되면됩니다.
테스트 인터페이스는 다음과 같습니다.
@autowired private shenniuconf shenniuconf; @GetMapping ( "/conf/myConf") public shenniuconf getBlogurl () {return shenniuconf; }예상치 못한 일이 발생하지 않으면 다음 결과를 얻을 수 있습니다.
git 주소 : https://github.com/shenniuboxing3 nuget publishing 패키지 : https://www.nuget.org/profiles/shenniuboxing3
요약
위의 것은 SpringBoot를 읽는 방법입니다. 사용자 정의 구성 파일 노드는 편집기가 소개합니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨주세요. 편집자는 제 시간에 당신에게 답장 할 것입니다!