توفر ملفات تعريف الربيع طريقة قوية لفصل أجزاء من تكوين التطبيق الخاص بك وجعلها متاحة فقط في بيئات معينة. هذه الميزة مفيدة بشكل خاص للتعامل مع التكوينات المختلفة لبيئات التطوير والاختبار والإنتاج دون تغيير التعليمات البرمجية الخاصة بك.
تسمح لك ملفات تعريف الربيع بتسجيل الحبوب بشكل مشروط، اعتمادًا على ملف التعريف النشط. هذا يعني أنه يمكنك تحديد عدة حبوب من نفس النوع وتحديد أي منها يجب أن يكون نشطًا في بيئة معينة.
يستخدم Spring Boot مجموعة من ملفات application-{profile}.properties أو application-{profile}.yml للتكوين. تحتوي هذه الملفات على تكوينات خاصة بملف التعريف ويتم تحميلها بناءً على ملف التعريف النشط.
spring: application: name: MySpringApp server: port: 8080 # Default port
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
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
يمكنك تنشيط ملف تعريف باستخدام المعلمة --spring.profiles.active عند تشغيل تطبيق Spring Boot:
java -jar my-spring-app.jar --spring.profiles.active=dev
بدلاً من ذلك، يمكنك تحديد ملف التعريف النشط في ملف application.yml الخاص بك:
spring: profiles: active: dev # or prod
يمكنك أيضًا تعيين ملف التعريف النشط باستخدام متغير البيئة:
export SPRING_PROFILES_ACTIVE=dev
يوفر Spring تعليقًا توضيحيًا للملف الشخصي لتسجيل الحبوب بشكل مشروط بناءً على الملف الشخصي النشط. إليك مثال:
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 { }
تعد ملفات تعريف الربيع طريقة قوية ومرنة لإدارة التكوينات المختلفة لبيئات مختلفة. من خلال فصل خصائص التكوين والفاصوليا بناءً على ملفات التعريف، يمكنك التأكد من أن تطبيقك يتصرف بشكل صحيح في كل بيئة، سواء كان ذلك في التطوير أو الاختبار أو الإنتاج. باستخدام التقنيات الموضحة في هذه المقالة، يمكنك بسهولة إعداد وإدارة الملفات الشخصية في تطبيق Spring Boot الخاص بك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3