SpringBoot Project는 기본적으로 Application.Properties 구성 파일을 읽습니다. 속성 파일을 사용자 정의 해야하는 경우 파일을 읽는 방법은 무엇입니까?
1. 리소스에서 새 .properties 파일을 만듭니다
Resource Directory에서 새 구성 폴더를 작성한 다음 새 .Properties 파일을 작성 하여이 폴더에 배치하십시오. remote.properties에 표시된대로
2. 구성 파일 쓰기
remote.uploadfilesurl =/resource/files/remote.uploadpicurl =/resource/pic/
3. 새 구성 클래스 remoteproperties.java를 만듭니다
@configuration@configurationProperties (prefix = "remote", ingoreUnkNownFields = false) @PropertySource ( "classPath : config/remote.properties")@data@componentpublic class remoteproperties {private string uploadfilesurl; 개인 문자열 업로드 파이 커플;}~에
@Configuration은 이것이 구성 클래스임을 나타냅니다
@ConfigurationProperties (prefix = "remote", ingoreUnkNownFields = false)이 주석은 속성을 바인딩하는 데 사용됩니다. Prefix는 속성의 접두사, 즉 Remote.Properties 파일에서 "원격"을 선택하는 데 사용됩니다. ingoreUlkNownfields는 SpringBoot에게 속성이 선언 된 도메인과 일치 할 수없는 경우 예외를 던지라고 지시하는 데 사용됩니다.
@PropertySource ( "classpath : config/remote.properties") 구성 파일 경로
@Data getter & setter 메소드를 생성하는 데 사용되는 Lombok 주석입니다. 자세한 내용은 Lombok 관련 정보를 참조하십시오.
@component는 Bean으로 식별되었습니다
4. 그것을 사용하는 방법?
Annotate 구성 파일을 사용하려는 메소드가있는 클래스의 테이블에서 enableconfigurationProperties (remoteproperties.class)가 있습니다.
자동으로 주입합니다
@autowiredRemoteProperties RemoteProperties;
메소드에서 remoteproperties.getuploadfilesurl ()을 사용하여 구성 컨텐츠를 얻으십시오.
@EnableConFigurationProperties (remoteproperties.class) @RestControllerPublic 클래스 TestService {@autowired RemoteProperties RemoteProperties; public void test () {string str = remoteproperties.getuploadfilesurl (); System.out.println (str); }}여기서 str는 구성 파일에 "/resource/files/"입니다.
추신 : 스프링 부츠에서 구성 파일을 읽는 두 가지 방법을 살펴 보겠습니다.
Spring-Boot 기술을 이해 한 경우 Spring-Boot의 핵심 구성 파일의 Application.Properties를 알아야하며 물론 사용자 정의 구성 파일의 정보에 주석을 달 수 있습니다.
스프링 부츠가 구성 파일을 읽는 방법 :
1. Application.Properties의 핵심 구성 파일 정보를 읽으십시오
Core Configuration 파일은 Resources의 루트 디렉토리의 application.properties 또는 application.yml 구성 파일을 나타냅니다. 이 두 구성 파일을 읽는 두 가지 방법이 있습니다. 둘 다 비교적 간단합니다.
Core Configuration File Application.properties 컨텐츠는 다음과 같습니다.
test.msg = Hello World SpringBoot
방법 1 : @Value 메소드 사용 (일반적으로 사용)
패키지 Solin.controller; org.springframework.beans.factory.annotation.value import; org.springframework.web.bind.annotation.requestmapping; org.springframework.web.bind.annotation.RestController; @RestController Public Class WebController {@Value ( "$ {test.msg}") 개인 문자열 msg; @requestmapping ( "/index1") public string index1 () {return "메소드 1 :"+msg; }} 참고 : @Value의 $ {}은 Core Configuration 파일의 키 이름에 포함되어 있습니다. 컨트롤러 클래스에 @RestController를 추가하면이 클래스의 모든 뷰가 view 메소드에 @ResponseBody를 추가하는 것과 유사하게 JSON에 표시됩니다.
방문 할 때 : http : // localhost : 8088/index1, 당신은 다음을 얻을 것입니다 : "메소드 1 : hello world springboot"
방법 2 : 환경 방법을 사용하십시오
패키지 Solin.controller; org.springframework.beans.factory.annotation.autowired; org.springframework.beans.factory.annotation.value import; org.springframework.core.env.environment; org.springframework.web.bind.annotation.requestmapping; org.springframework.web.bind.annotation.RestController; @RestController Public Class WebController {@autowired Private Environment Env; @requestmapping ( "/index2") public string index2 () {return "메소드 2 :"+env.getProperty ( "test.msg"); }} 참고 :이 방법은 환경을 사용하여 종속성 주입을 완료하는 것입니다. 생성 된 멤버 변수 개인 환경 환경에 @autowired 주석을 추가하여 종속성 주입을 완료 한 다음 Env.GetProperty ( "키 이름")를 사용하여 해당 값을 읽습니다.
방문시 : http : // localhost : 8088/index2, 당신은 다음을 얻을 수 있습니다 : "메소드 2 : hello world springboot"
2. 사용자 정의 구성 파일 정보를 읽으십시오. 예 : author.properties
핵심 파일의 원래 생태를 파괴하지 않고 일반적으로 사용자 정의 구성 파일이 선택되어 이러한 사용자 정의 정보를 배치하기 위해 사용자 정의 구성 파일이 선택됩니다. 여기에서는 구성 파일 auderties.properties가 리소스 디렉토리에 생성됩니다.
리소스/author.properties 컨텐츠는 다음과 같습니다.
author.name = solin author.age = 22
구성 관리를위한 엔티티 클래스 생성 :
패키지 Solin.controller; org.springframework.boot.context.properties.configurationProperties; org.springframework.context.annotation.configuration; org.springframework.stereotyp.component import; // 주석 @component를 추가하면 @autowired를 직접 사용하여 다른 장소에서 인스턴스 객체를 만들 수 있습니다 @Component @ConfigurationProperties (prefix = "author", locations = "classPath : author.Properties") 공개 클래스 MyWebConfig {private String name; 사적인 int 연령; 공개 문자열 getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public int getage () {반환 연령; } public void 설정 (int Age) {this.age = age; }}알아채다:
@ConfigurationProperties 주석에는 두 가지 속성이 있습니다.
위치 : 구성 파일의 위치를 지정하십시오
접두사 : 구성 파일에서 키 이름의 접두사를 지정하십시오 (여기서 구성 파일의 모든 키 이름은 저자로 시작합니다.)
@Component를 사용하면 클래스가 다른 장소, 즉 @autowired 주석을 사용하여 인스턴스를 생성 할 수 있습니다.
테스트 컨트롤러를 만듭니다
패키지 Solin.controller; org.springframework.beans.factory.annotation.autowired; org.springframework.stereotyp.controller import; org.springframework.web.bind.annotation.requestmapping; org.springframework.web.bind.annotation.responsebody; @controller public class configcontroller {@autowired private mywebconfig conf; @requestmapping ( "/test") public @ResponseBody String test () {return "name :"+conf.getName ()+"---"+"age :"+conf.getage (); }}참고 : @Component가 CONC 클래스에 추가되므로 @autowired를 직접 사용하여 인스턴스 객체를 작성할 수 있습니다.
방문시 : http : // localhost : 8088/test : "이름 : Solin --- Age : 22"
요약
위는 편집기가 소개 한 SpringBoot에서 사용자 정의 속성 구성 파일을 읽는 방법입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!