>  기사  >  Java  >  Java 아키텍처의 기초: Spring Cloud YAML 및 속성 구성에 대한 자세한 설명

Java 아키텍처의 기초: Spring Cloud YAML 및 속성 구성에 대한 자세한 설명

php是最好的语言
php是最好的语言원래의
2018-08-10 14:55:002462검색

목차

Spring Cloud YAML 구성 세부 정보 1

속성 세부 정보 2

사용자 정의 매개변수 2

매개변수 참조 3

난수 4

외부 매개변수 4

다중 환경 구성 5

YAML6

YA ML에는 다음과 같은 기본 규칙이 있습니다. 6

YAML을 사용하여 다중 환경 구성을 완료합니다. 7

이전 예에서는 src/main/resources/application.properties를 사용하여 프로젝트를 개인화했습니다. 분명히 간단합니다. 는 우리가 자주 사용하는 것입니다

그러나 복잡한 비즈니스 요구에 대응하여 다중 환경 및 프로그래밍 방식의 구성을 충족할 수 없습니다

이러한 이유로 Spring Cloud는 기능을 풍부하게 하고 개발을 단순화하기 위한 YAML 구성 방법을 제공합니다. 시간이 지나면 구성 내용을 쉽고 명확하게 구분할 수 있습니다.

속성 자세한 설명

사용자 정의 매개변수

사용자 정의 매개변수를 사용하면 프로그램에서 사용할 구성 파일의 일부 매개변수를 정의할 수 있습니다.

여기에서는 Spring 주석을 사용하여 이 기능을 구현합니다.

우선 엔터티 클래스

@Component

public class Dalao {

@Value("${dalao.name}")

private 문자열 이름;

@Value("${dalao.name} ") yanzhi}")

private String yanzhi;

…..getter setter 생략됨

@Component 참고:

일반 포조를 스프링 컨테이너로 인스턴스화합니다. 이는

application.propertie를 수정하고 다음 구성 매개변수를 추가하세요

dalao.name=mashibing

dalao.yanzhi=100

사용자 정의 매개변수 사용

Spring 관리 개체

Spring이 개체를 주입하도록 합니다. 여기서 주의해야 할 점은 새 개체가 Spring 컨테이너에 의해 관리되지 않으면 속성 값이 자동으로 우리에게 주입되지 않는다는 것입니다

@Autowired

private Dalao dalao;

테스트 인쇄

System.out.println(ToStringBuilder.reflectionToString(dalao));

System.out.println(ToStringBuilder.reflectionToString(new Dalao()) );

ToString Builder

ToStringBuilder는 객체를 문자열로 변환하는 데 사용됩니다. 이 객체를 사용하려면 Spring의 툴킷 commons-lang3

Pom

<-- https:// mvnrepository.com/artifact/org.apache.commons /commons-lang3 -->

org.apache.commons 7< ;/version>

매개변수 참조

application.propertie의 매개변수 값은 서로 참조할 수 있습니다이전 구성을 수정하겠습니다

dalao.name=mashibing

dalao.yanzhi=100

dalao.desc =${dalao.name}님은 훌륭한 선생님입니다. bing bu shi yin wei ${dalao.name} de yan zhi = ${dalao.yanzhi}

엔티티에

를 추가하세요

@Value("${dalao .desc}")

private

문자열 desc;

출력 결과

Random number

몇 가지 특별한 요구 사항이 있으므로 설정된 속성 값이 다음과 같은 고정 값이 되는 것을 원하지 않습니다. 서버 임의의 포트 번호, 특정 번호 등을 사용하여 ${radom}을 사용하여 구성에서 임의의 int, long 또는 문자열을 생성할 수 있습니다${random.int()} = random int

${random long} = random long

${random.int(50)} = 50

${random.int(50,100)} = 50~100 사이의 int 난수

${random.value }= 무작위 문자열

구성 파일에 사용됨

dalao.xiaodi.zhangyang.yanzhi=${random.int(50,100)}

dalao.xiaodi.zhangyang.xinqing=${random.value}

외부 참여

마이크로 서비스 아키텍처에서는 이러한 도구를 사용하여 서비스를 시작하는 경우가 많습니다.우리의 Spring 부팅 프로그램은 일반적으로 java –jar을 사용하여 시작하고 실행합니다.

서비스 포트 번호 또는 기타 값 서비스를 시작할 때 결정해야 합니다. 구성에서 하드하게 작성되거나 무작위로 사용되면 분명히 요구 사항을 충족하지 못할 것입니다.

외부 매개 변수를 사용하여 사용자 정의 매개 변수를 대체할 수 있습니다

예를 들어 서비스 포트는 다음과 같습니다. 일시적으로 결정됨:

java -jar deco-0.0.1-SNAPSHOT.jar --server.port=60

외형도 동시에 변경됩니다:

java -jar deco-0.0.1-SNAPSHOT. jar --server.port=60 --dalao.xiaodi.zhangyang.yanzhi

외부 구성을 사용하면 서비스 시작 시 서비스 포트, 데이터베이스 연결 비밀번호, 사용자 정의 속성 값 등을 변경할 수 있습니다.

다중 환경 구성

실제 개발에서는 우리의 코드 세트가 개발, 테스트, 생산 등 여러 서버에 동시에 배포될 수 있습니다. 자동화를 사용할 수 있지만 각 환경의 데이터베이스 비밀번호와 같은 개인화 된 구성은 불가피합니다. 운영 및 유지 관리 배포 메소드는 서비스 시작 시 속성 값을 일시적으로 대체하기 위해 외부 매개변수를 사용하지만, 이로 인해 운영 및 유지 관리 비용도 증가합니다.

여러 구성 세트를 통해 다양한 환경에 대한 다양한 구성 속성 수정을 피할 수 있습니다

사용법:

먼저 여러 구성 파일 세트를 생성하세요

이름 지정 규칙은 다음과 같습니다:

Application-*,properties

Application- dev,properties=개발 환경

Application-test,properties=테스트 환경

Application-prod,properties=세대 환경

다음으로 구성 세트가 적용되는 application.properties에 스위치를 설정합니다

spring.profiles를 사용합니다. active=dev

java –jar를 사용하여 서비스를 시작할 때 외부 매개변수를 통해 전체 구성을 변경할 수 있습니다

java -jar deco-0.0.1-SNAPSHOT.jar -- spring.profiles.active=test

YAML

YAML은 "YAML Ain't Markup Language"의 외국어 약어입니다. YAML은 마크업 언어가 아닙니다

그러나 이 언어가 마크업 언어에 중점을 두기보다는 데이터 중심이라는 점을 강조하기 위해 Return to the 원래 단어를 바꾸고 이름을 바꿉니다. 컴퓨터가 인식할 수 있는 직관적인 데이터 직렬화 형식으로 인간이 읽기 쉽고 읽기 쉬운 프로그래밍 언어이며, 데이터 시퀀스를 표현하는 데 사용됩니다.

Standard Universal Markup Language의 하위 집합인 XML과 유사한 데이터 설명 언어이며 구문은 XML보다 훨씬 간단합니다.

YAML에는 다음과 같은 기본 규칙이 있습니다.

1. 대소문자 구분

2. 들여쓰기를 사용하여 계층 관계 표시

3. 탭 들여쓰기는 금지되며 스페이스바만 사용할 수 있습니다

4. 들여쓰기 길이 제한 없음 요소가 정렬되어 있는 한 이는 해당 요소가 동일한 수준에 속함을 의미합니다.

5. 주석을 표시하려면 #을 사용하세요.

6. 문자열은 따옴표 없이 표시할 수 있습니다.

YAML을 사용하여 다중 환경 구성을 완료하세요

방법 1:

여러 속성 파일이 있는 단일 yml 파일

방법 2:

단일 yml 파일의 모든 변수 구성

관련 권장 사항:

spring cloud 튜토리얼 구성 수정 구성 방법 소개

Spring, Spring MVC, MyBatis 통합 파일 구성 세부 설명

위 내용은 Java 아키텍처의 기초: Spring Cloud YAML 및 속성 구성에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.