جاوا و تکنولوژی های آن

java programming language

در این وبلاگ به بررسی نکات موجود در جاوا و تکنولوژی های آن می پردازیم

طبقه بندی موضوعی


برای استفاده از Spring در پروژه باید آنرا مطابق نیازمان پیکره بندی کنیم در Spring چند راه حل از ساده ترین تا پیچیده ترین و انعطاف پذیرترین خالت برای این موضوع وجود دارد که باعث نشود هر دفعه نیاز داشته باشیم آنرا hardcode کنیم که در ادامه به آنها میپردازیم


حالت اول :

داشتن فایل properties. برای هر محیط کاری (dev, staging , production) که شامل سه فایل properties مجزا برای هر حالت کاری میشود :

persistence-dev.properties

persistence-staging.properties

persistence-production.properties

در یک پروژه معمولی Maven این فایل های تنظیمات میتوانند در مسیر src/main/resources قرار گیرند. میتوان این فایل ها را در مسیر دیگری قرار داد ولی باید در نظر داشت که موقع deploy باید در دسترس باشند 



حالت دوم :

با استفاده از فایل تنظیمات xml در Spring :

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context="http://www.springframework.org/schema/context"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context-4.0.xsd">
 
      <context:property-placeholder
         location="
         classpath*:*persistence-${envTarget}.properties" />
 
</beans>


با استفاده از PropertySource@ : 

@PropertySource({ "classpath:persistence-${envTarget:dev}.properties" })


در دو حالت بالا میبینیم که بجای معرفی تک تک فایل های تنظیمات با استفاده از الگو (placeholder) میتوانیم کلیه تنظیمات حالت مختلف کاری را معرفی کنیم 


اجرای کد :

با تنظیم حالت کاری جاری انتخاب میکنیم که کدامیک از فایل های تنظیمات باید خوانده شود که از طریق متغییر محیطی سیستم عامل و همینطور خط فرمان جاوا هنگام اجرای کد :

-DenvTarget=dev


استفاده از تست :

برای حالت تست کافی است در فایل pom.xml حالت مورد نظر را انتخاب کنیم :

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-surefire-plugin</artifactId>
   <configuration>
      <systemPropertyVariables>
         <envTarget>h2_test</envTarget>
      </systemPropertyVariables>
   </configuration>
</plugin>


در تگ envTarget مشخص میکنیم که کدام فایل تنظیمات مد نظر ماست در مثال فوق فایل persistence-h2_test.properties از مسیر src/test/resources خوانده خواهد شد


حالت پیچیده تر را میتوان با انعطاف بیشتری استفاده کرد مثلا از دیتابیس h2 در حالت تست استفاده کنیم و از دیتابیس mysql در حالت production که برای هر یک فایل properties جداگانه ای در نظر میگیریم و استفاده میکنیم 



نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی