Spring Boot-클라우드 구성 서버

Spring Cloud Configuration Server는 모든 애플리케이션 관련 구성 속성을 관리하는 중앙 집중식 애플리케이션입니다. 이 장에서는 Spring Cloud Configuration 서버를 만드는 방법에 대해 자세히 알아 봅니다.

Spring Cloud 구성 서버 생성

먼저 Spring Initializer 페이지에서 Spring Boot 프로젝트를 다운로드하고 Spring Cloud Config Server 종속성을 선택합니다. 아래 주어진 스크린 샷을 관찰하십시오-

이제 아래에 설명 된대로 빌드 구성 파일에 Spring Cloud Config 서버 종속성을 추가하십시오.

Maven 사용자는 pom.xml 파일에 아래 종속성을 추가 할 수 있습니다.

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-config-server</artifactId>
</dependency>

Gradle 사용자는 build.gradle 파일에 아래 종속성을 추가 할 수 있습니다.

compile('org.springframework.cloud:spring-cloud-config-server')

이제 기본 Spring Boot 애플리케이션 클래스 파일에 @EnableConfigServer 주석을 추가하십시오. @EnableConfigServer 어노테이션은 Spring Boot 애플리케이션이 구성 서버로 작동하도록합니다.

주요 Spring Boot 애플리케이션 클래스 파일은 다음과 같습니다.

package com.tutorialspoint.configserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@SpringBootApplication
@EnableConfigServer
public class ConfigserverApplication {
   public static void main(String[] args) {
      SpringApplication.run(ConfigserverApplication.class, args);
   }
}

이제 아래 구성을 속성 파일에 추가하고 application.properties 파일을 bootstrap.properties 파일로 바꿉니다. 아래 주어진 코드를 관찰하십시오-

server.port = 8888
spring.cloud.config.server.native.searchLocations=file:///C:/configprop/
SPRING_PROFILES_ACTIVE=native

Configuration Server는 Tomcat 포트 8888에서 실행되며 응용 프로그램 구성 속성은 기본 검색 위치에서로드됩니다.

지금에 file:///C:/configprop/, 클라이언트 애플리케이션-application.properties 파일을 배치하십시오. 예를 들어 클라이언트 애플리케이션 이름은 다음과 같습니다.config-client을 클릭 한 다음 application.properties 파일의 이름을 config-client.properties 경로에 속성 파일을 배치하십시오. file:///C:/configprop/.

config-client 속성 파일의 코드는 다음과 같습니다.

welcome.message = Welcome to Spring cloud config server

전체 빌드 구성 파일은 다음과 같습니다.

Maven 사용자는 pom.xml 아래에 주어진-

<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.tutorialspoint</groupId>
   <artifactId>configserver</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>jar</packaging>

   <name>configserver</name>
   <description>Demo project for Spring Boot</description>
   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.9.RELEASE</version>
      <relativePath/> <!-- lookup parent from repository -->
   </parent>

   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <java.version>1.8</java.version>
      <spring-cloud.version>Edgware.RELEASE</spring-cloud.version>
   </properties>

   <dependencies>
      <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-config-server</artifactId>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>

   <dependencyManagement>
      <dependencies>
         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
         </dependency>
      </dependencies>
   </dependencyManagement>

   <build>
      <plugins>
         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>
   
</project>

Gradle 사용자는 아래에 주어진 build.gradle 파일을 사용할 수 있습니다.

<scope>import</scope>
</dependency>
</dependencies>
buildscript {
   ext {
      springBootVersion = '1.5.9.RELEASE'
   }
   repositories {
      mavenCentral()
   }
   dependencies {
      classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
   }
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

group = 'com.tutorialspoint'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
   mavenCentral()
}
ext {
   springCloudVersion = 'Edgware.RELEASE'
}
dependencies {
   compile('org.springframework.cloud:spring-cloud-config-server')
   testCompile('org.springframework.boot:spring-boot-starter-test')
}
dependencyManagement {
   imports {
      mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
   }
}

이제 실행 가능한 JAR 파일을 만들고 다음 Maven 또는 Gradle 명령을 사용하여 Spring Boot 애플리케이션을 실행합니다.

Maven의 경우 아래 명령을 사용하십시오.

mvn clean install

“BUILD SUCCESS”후 대상 디렉토리에서 JAR 파일을 찾을 수 있습니다.

Gradle의 경우 아래 명령을 사용하십시오.

gradle clean build

“BUILD SUCCESSFUL”후에 build / libs 디렉토리에서 JAR 파일을 찾을 수 있습니다.

다음 명령을 사용하여 JAR 파일을 실행하십시오-

java –jar <JARFILE>

이제 응용 프로그램은 다음과 같이 Tomcat 포트 8888에서 시작되었습니다.

이제 URL을 누르십시오. http://localhost:8888/config-client/default/master 웹 브라우저에서 여기에 표시된대로 config-client 애플리케이션 구성 속성을 볼 수 있습니다.