"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > अपने स्प्रिंग बूट एप्लिकेशन में स्प्रिंग प्रोफाइल का उपयोग कैसे करें

अपने स्प्रिंग बूट एप्लिकेशन में स्प्रिंग प्रोफाइल का उपयोग कैसे करें

2024-08-06 को प्रकाशित
ब्राउज़ करें:169

How to Use Spring Profiles in Your Spring Boot Application

स्प्रिंग प्रोफाइल आपके एप्लिकेशन कॉन्फ़िगरेशन के हिस्सों को अलग करने और इसे केवल कुछ वातावरणों में उपलब्ध कराने का एक शक्तिशाली तरीका प्रदान करता है। यह सुविधा आपके कोड को बदले बिना विकास, परीक्षण और उत्पादन परिवेश के लिए विभिन्न कॉन्फ़िगरेशन को संभालने के लिए विशेष रूप से उपयोगी है।

स्प्रिंग प्रोफाइल क्या हैं?

स्प्रिंग प्रोफ़ाइल आपको सक्रिय प्रोफ़ाइल के आधार पर सशर्त रूप से बीन्स को पंजीकृत करने की अनुमति देती है। इसका मतलब है कि आप एक ही प्रकार के कई बीन्स को परिभाषित कर सकते हैं और निर्दिष्ट कर सकते हैं कि किसी दिए गए वातावरण में कौन सा सक्रिय होना चाहिए।

स्प्रिंग प्रोफ़ाइल सेट करना

1. कॉन्फ़िगरेशन फ़ाइलें बनाना

स्प्रिंग बूट कॉन्फ़िगरेशन के लिए एप्लिकेशन-{प्रोफ़ाइल}.प्रॉपर्टीज़ या एप्लिकेशन-{प्रोफ़ाइल}.yml फ़ाइलों के एक सेट का उपयोग करता है। इन फ़ाइलों में प्रोफ़ाइल-विशिष्ट कॉन्फ़िगरेशन होते हैं और इन्हें सक्रिय प्रोफ़ाइल के आधार पर लोड किया जाता है।

डिफ़ॉल्ट कॉन्फ़िगरेशन (application.yml)

spring:
  application:
    name: MySpringApp

server:
  port: 8080  # Default port

विकास कॉन्फ़िगरेशन (एप्लिकेशन-dev.yml)

spring:
  datasource:
    url: jdbc:h2:mem:devdb
    username: sa
    password: ""
    driver-class-name: org.h2.Driver
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

server:
  port: 8081  # Development port

उत्पादन विन्यास (एप्लिकेशन-prod.yml)

spring:
  datasource:
    url: jdbc:mysql://prod-db-server:3306/proddb
    username: prod_user
    password: prod_password
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: validate
    show-sql: false

server:
  port: 8082  # Production port

स्प्रिंग प्रोफाइल सक्रिय करना

2. कमांड लाइन के माध्यम से प्रोफाइल सक्रिय करना

आप अपना स्प्रिंग बूट एप्लिकेशन चलाते समय --spring.profiles.active पैरामीटर का उपयोग करके एक प्रोफ़ाइल सक्रिय कर सकते हैं:

java -jar my-spring-app.jar --spring.profiles.active=dev

3. एप्लिकेशन गुणों के माध्यम से प्रोफाइल सक्रिय करना

वैकल्पिक रूप से, आप अपनी एप्लिकेशन.yml फ़ाइल में सक्रिय प्रोफ़ाइल निर्दिष्ट कर सकते हैं:

spring:
  profiles:
    active: dev  # or prod

4. पर्यावरण चर के माध्यम से प्रोफाइल सक्रिय करना

आप पर्यावरण चर का उपयोग करके सक्रिय प्रोफ़ाइल भी सेट कर सकते हैं:

export SPRING_PROFILES_ACTIVE=dev

कोड में प्रोफ़ाइल का उपयोग करना

स्प्रिंग सक्रिय प्रोफ़ाइल के आधार पर बीन्स को सशर्त रूप से पंजीकृत करने के लिए एक @प्रोफ़ाइल एनोटेशन प्रदान करता है। यहाँ एक उदाहरण है:

उदाहरण कॉन्फ़िगरेशन कक्षाएं

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;

@Configuration
public class AppConfig {

    @Bean
    @Profile("dev")
    public DataSource devDataSource() {
        return new HikariDataSource();  // Development-specific DataSource
    }

    @Bean
    @Profile("prod")
    public DataSource prodDataSource() {
        return new HikariDataSource();  // Production-specific DataSource
    }
}

इस उदाहरण में, devDataSource बीन केवल तभी बनाया जाएगा जब देव प्रोफ़ाइल सक्रिय है, और prodDataSource बीन तब बनाया जाएगा जब उत्पाद प्रोफ़ाइल सक्रिय है।

प्रोफ़ाइल-विशिष्ट बीन्स का परीक्षण

परीक्षण लिखते समय, आप @ActiveProfiles एनोटेशन का उपयोग करके निर्दिष्ट कर सकते हैं कि कौन सी प्रोफ़ाइल सक्रिय होनी चाहिए:

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;

@SpringBootTest
@ActiveProfiles("dev")
public class DevProfileTests {

    @Autowired
    private DataSource dataSource;

    @Test
    public void testDataSource() {
        // Test code using the development DataSource
    }
}

प्रोफ़ाइल-विशिष्ट गुण

कभी-कभी, आप सक्रिय प्रोफ़ाइल के आधार पर विभिन्न गुण फ़ाइलें लोड करना चाह सकते हैं। इसे प्राप्त करने के लिए आप @PropertySource एनोटेशन का उपयोग कर सकते हैं:

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

@Configuration
@PropertySource("classpath:application-${spring.profiles.active}.properties")
public class PropertyConfig {
}

निष्कर्ष

स्प्रिंग प्रोफाइल विभिन्न वातावरणों के लिए अलग-अलग कॉन्फ़िगरेशन को प्रबंधित करने का एक मजबूत और लचीला तरीका है। प्रोफाइल के आधार पर अपने कॉन्फ़िगरेशन गुणों और बीन्स को अलग करके, आप यह सुनिश्चित कर सकते हैं कि आपका एप्लिकेशन प्रत्येक वातावरण में सही ढंग से व्यवहार करता है, चाहे वह विकास, परीक्षण या उत्पादन हो। इस आलेख में उल्लिखित तकनीकों का उपयोग करके, आप अपने स्प्रिंग बूट एप्लिकेशन में आसानी से प्रोफाइल सेट अप और प्रबंधित कर सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/isaactony/how-to-use-spring-profiles-in-your-spring-boot-application-o18?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 से संपर्क करें इसे हटाने के लिए .com
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3