찾다
Javajava지도 시간Spring Boot Profile 사용에 대한 예제 튜토리얼

Spring Boot Profile 사용에 대한 예제 튜토리얼

Jun 17, 2017 pm 01:24 PM
bootprofilesspring용적

이 글은 주로 Spring Boot Pro파일의 세부 구성 및 사용법을 소개합니다. 관심이 있는 경우에는 이에 대해 알아볼 수 있습니다.

Introduction

Spring Profiles는 일련의 방법을 제공합니다. 애플리케이션 구성을 분리하려면 다양한 프로필이 다양한 구성 조합을 제공합니다. 애플리케이션은 시작 시 특정 특정 프로필을 활성화하도록 선택하여 런타임 환경에 적응하므로 동일한 프로그램 코드 세트를 다양한 환경에서 사용할 수 있습니다.

환경

  1. JDK 8

  2. Maven 3

  3. IntelliJ IDEA 2016

  4. Spring Boot 1.5.2.RELEASE

@Profiles

게시하셔도 됩니다 @Component(@Service, @Repository) 또는 @Configuration 주석으로 주석이 달린 클래스에서 @Profiles 주석을 사용합니다.


public interface PaymentService {
  String createPaymentQrcode();
}


@Service
@Profile("alipay")
public class AlipayService implements PaymentService {
  @Override
  public String createPaymentQrcode() {
    return "支付宝支付二维码";
  }
}


@Service
@Profile({"default", "wechatpay"})
public class WechatpayService implements PaymentService {
  @Override
  public String createPaymentQrcode() {
    return "微信支付二维码";
  }
}

Spring Boot에서는 기본 프로필이 default입니다. 따라서 PaymentService.createPaymentQrcode() -> WeChat 결제 QR 코드입니다. PaymentService.createPaymentQrcode() -> 微信支付二维码。

你可以通过 spring.profiles.active 来激活某个特定 profile:


java -jar -Dspring.profiles.active='alipay' xxx.jar

PaymentService.createPaymentQrcode() -> 支付宝支付二维码。

多环境配置

在Spring Boot 中,多环境配置文件可以使用 application-{profile}.{properties|yml} 的方式。


@Component
@ConfigurationProperties("jdbc")
public class JdbcProperties {
  private String username;
  private String password;
  // getters and setters
}

开发环境 application-dev.properties 配置:


jdbc.username=root
jdbc.password=123654

生产环境 application-prod.properties 配置:


jdbc.username=produser
jdbc.password=16888888

或:

开发环境 application-dev.yml 配置:


jdbc:
 username: root
 password: 123654

生产环境 application-prod.yml

spring.profiles.active를 통해 특정 프로필을 활성화할 수 있습니다.



jdbc:
 username: produser
 password: 16888888

PaymentService.createPaymentQrcode() -> .


다중 환경 구성

Spring Boot에서는 다중 환경 구성 파일🎜을 사용할 수 있습니다. application-{profile}.{properties|yml}을 사용합니다. 🎜🎜🎜🎜🎜
app:
 version: 1.0.0
spring:
 profiles:
  active: "dev"
---
spring:
 profiles: dev
jdbc:
 username: root
 password: 123654
---
spring:
 profiles: prod
jdbc:
 username: produser
 password: 16888888
🎜 개발 환경 application-dev.properties 구성: 🎜🎜🎜🎜🎜
java -jar -Dspring.profiles.active=prod xxxx.jar
🎜프로덕션 환경 application-prod.properties 구성: 🎜🎜🎜🎜 🎜rrreee🎜 또는: 🎜🎜🎜 개발 환경 application-dev.yml 구성: 🎜🎜🎜🎜🎜rrreee🎜프로덕션 환경 application-prod.yml 구성: 🎜🎜🎜 🎜🎜rrreee🎜 또는: 🎜🎜🎜 그냥 application.yml을 사용하고 이 파일에서 --- 구분 기호를 사용하여 여러 프로필을 생성하세요. 구성: 🎜🎜🎜🎜🎜rrreee🎜명령줄 시작: 🎜rrreee

위 내용은 Spring Boot Profile 사용에 대한 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
GO에서 National Secret SM4 및 SM2 알고리즘의 암호화, 암호 해독 및 상호 연결을 구현하는 방법은 무엇입니까?GO에서 National Secret SM4 및 SM2 알고리즘의 암호화, 암호 해독 및 상호 연결을 구현하는 방법은 무엇입니까?Apr 19, 2025 pm 06:27 PM

Go Language는 GO 언어에서 SM4 및 SM2의 암호화 및 암호 해독을 구현합니다. 이 기사는 Go Language를 사용하여 GO Language의 암호화 및 SM2 알고리즘의 암호화 및 암호 해독 프로세스를 구현하여 Java의 요구를 충족시키는 방법을 자세히 소개합니다.

파이썬 프로젝트에서 레이어링을해야합니까?파이썬 프로젝트에서 레이어링을해야합니까?Apr 19, 2025 pm 06:24 PM

파이썬 프로젝트에 묶을 필요가 있습니까? 최근에 Python을 배우고있을 때 많은 Django 오픈 소스 프로젝트가 Views Function에서 많은 것을 썼다는 것을 알았습니다.

맵 구조를 사용하여 시스템 도킹에서 필드 매핑 문제를 단순화하는 방법은 무엇입니까?맵 구조를 사용하여 시스템 도킹에서 필드 매핑 문제를 단순화하는 방법은 무엇입니까?Apr 19, 2025 pm 06:21 PM

시스템 도킹의 필드 매핑 처리 시스템 도킹을 수행 할 때 어려운 문제가 발생합니다. 시스템의 인터페이스 필드를 효과적으로 매핑하는 방법 ...

Intellij Idea는 Javaagent 및 RMI 기술을 통해 Spring Boot 프로젝트의 포트 번호를 어떻게 식별합니까?Intellij Idea는 Javaagent 및 RMI 기술을 통해 Spring Boot 프로젝트의 포트 번호를 어떻게 식별합니까?Apr 19, 2025 pm 06:18 PM

Intellijidea는 SpringBoot 프로젝트의 포트 번호를 어떻게 인식합니까? IntellijideAultimate 버전을 사용하여 봄을 시작하십시오 ...

효율적인 프로그래밍 : 안정적인 코드 도구와 리소스를 어떻게 찾을 수 있습니까?효율적인 프로그래밍 : 안정적인 코드 도구와 리소스를 어떻게 찾을 수 있습니까?Apr 19, 2025 pm 06:15 PM

효율적인 프로그래밍 : 신뢰할 수있는 코드 도구 및 리소스를 찾고 많은 프로그래머가 효율성을 향상시키고 대규모 정보를 피하기 위해 편리한 코드 도구 웹 사이트를 찾고 싶어합니다 ...

JWT가 동적 권한 변경을 구현할 수 있습니까? 세션 메커니즘의 차이점은 무엇입니까?JWT가 동적 권한 변경을 구현할 수 있습니까? 세션 메커니즘의 차이점은 무엇입니까?Apr 19, 2025 pm 06:12 PM

JWT 및 세션에 대한 혼란과 답변은 JWT 및 세션을 학습 할 때 많은 초보자가 종종 성격과 적용 가능한 시나리오에 대해 혼란스러워합니다. 이 기사는 J ...을 중심으로 진행됩니다.

Websocket Communication을 지원하기 위해 Windows Server 2019 방화벽을 올바르게 구성하는 방법은 무엇입니까?Websocket Communication을 지원하기 위해 Windows Server 2019 방화벽을 올바르게 구성하는 방법은 무엇입니까?Apr 19, 2025 pm 06:09 PM

Windows Server 2019 방화벽과 WebSocket 간의 통신 문제에 대한 자세한 설명. SpringBoot를 사용하여 개발 된 JAR 프로그램은 Windows Server 2019에 배포되었습니다 ...

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경