SpringBoot 초보 입문 (5)

1. SpringBoot 의 yml 프로필
(1) SpringBoot 의 설정 파일 은 두 가지 형식 으로 사 용 됩 니 다. properties 와. yml.기본적으로 SpringBoot 는 classpath 나 classpath: / config 의 application. properties 또는 a pplication. yml 파일 을 불 러 옵 니 다.properties 파일 은 우리 가 자주 사용 하 는 설정 파일 입 니 다. yml 은 YAML 파일 입 니 다. YAML 은 읽 기 쉽 고 스 크 립 트 언어 와 상호작용 하기 쉬 운 자료 서열 을 표현 하 는 프로 그래 밍 언어 입 니 다. 여기 서 간단하게 말 하면 문법 은 8195 ℃ 입 니 다.(Tab 를 사용 할 수 없습니다. 각 시스템 Tab 에 대응 하 는 빈 칸 의 수가 다 를 수 있 습 니 다. 차원 이 혼 란 스 러 울 수 있 습 니 다.), * 8195 ° (2) \ # 주석 을 표시 합 니 다. * 8195 ° (3) 폴 더 뒤에 빈 칸 과 목록 을 표시 합 니 다. * 8195 ° (4) key 와 value 사이 에 콜론 과 빈 칸 으로 구 분 됩 니 다.
environments:
    dev:
        url: http://dev.bar.com
        name: Developer Setup
    prod:
        url: http://foo.bar.com
        name: My Cool App

#yaml  list  
my:
   servers:
       - dev.bar.com
       - foo.bar.com

상기 코드 세그먼트 는 표준 yml 파일 내용 으로 다음 properties 설정 과 같 습 니 다.
environments.dev.url=http://dev.bar.com
environments.dev.name=Developer Setup
environments.prod.url=http://foo.bar.com
environments.prod.name=My Cool App

my.servers[0]=dev.bar.com
my.servers[1]=foo.bar.com

SpringBoot 는 YamlProperties Factory Bean 을 통 해 application. yml 파일 을 불 러 오고 YamlMapFactory Bean 을 통 해 Map 으로 변환 합 니 다.
name:
    nameStr
age:
    11

#yaml  list  
my:
    servers:
       - dev.bar.com
       - foo.bar.com
@Configuration
public class MyConfiguration {
     
    //   @Value   
    @Value("${name}")
    private String name;

    @Value("${age}")
    private Integer age;

    public String getName() {
     
        return name;
    }

    public void setName(String name) {
     
        this.name = name;
    }

    public Integer getAge() {
     
        return age;
    }

    public void setAge(Integer age) {
     
        this.age = age;
    }
}
@Configuration
//  @ConfigurationProperties   
@ConfigurationProperties(prefix="my")
public class MyConfig {
     

    private List<String> servers = new ArrayList<String>();

    public List<String> getServers() {
     
        return this.servers;
    }

}
@SpringBootApplication
@RestController
public class Application {
     

    public static void main(String[] args) {
     
        SpringApplication application = new SpringApplication(Application.class);
        application.run(args);
    }


    @Autowired
    private MyConfiguration myConfiguration;

    @RequestMapping("/getMyConfiguration")
    public String getMyConfiguration() {
     
        return myConfiguration.getName() + ":" + myConfiguration.getAge();
    }

    @Autowired
    private MyConfig myConfig;

    @RequestMapping("/getMyConfig")
    public List<String> getMyConfig() {
     
        return myConfig.getServers();
    }
}

애플 리 케 이 션 을 시작 하여 브 라 우 저 에 각각 입력 합 니 다.http://localhost:8080/getMyConfiguration 화해시키다http://localhost:8080/getMyConfig 설정 값 을 얻 을 수 있 습 니 다.
@ConfigurationProperties(prefix="person")
public class OwnerProperties {
     

    private String firstName;

    public String getFirstName() {
     
        return this.firstName;
    }

    public void setFirstName(String firstName) {
     
        this.firstName = firstName;
    }

}

설정 파일 에서 다음 과 같은 임의의 방식 을 사용 하면 해당 하 는 설정 값 을 가 져 올 수 있 습 니 다.
person.firstName
person.first-name
person.first_name
PERSON_FIRST_NAME

좋은 웹페이지 즐겨찾기