Spring Framework กับการใช้งาน config file ด้วย PropertyPlaceholderConfigurer
บทความเกี่ยวกับ : Spring Framework กับการใช้งาน config file ด้วย PropertyPlaceholderConfigurer
บางงานผมจำเป็นต้องมีการเก็บค่าบางอย่างลงใน Properties file เพื่อเป็น Configuration ไว้ใช้งานในระบบ วิธีการของผมคือ ผมจะวางไฟล์ นี้ไว้ใน Class Path หรือ หัอง SRC จากนั้นทำกาน Load file นี้ขึ้นมาใช้ได้ด้วย PropertyPlaceholderConfigurer ตามตัวอย่าง
<!-- Spring properties file config -->
<bean name="propertyPlaceholder"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:db.properties</value>
</list>
</property>
</bean>
จากตัวอย่าง ผมมีไฟล์ชื่อว่า db.properties วางไว้ใน class path สาเหตุที่วางไว้ในนี้เพราะจะได้ไม่ต้องระบุ Path ให้ยุ่งยากจากนั้นเวลาใช้ก็แค่เรียกใช้งานตาม tag ดังนี้
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" >
<property name="driverClassName" value="${db.driverClassName}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
</bean>
เห็นแบบนี้แล้วอาจสงสัยว่าในเมื่อใช้ Spring มันก็ config ใน XML อยู่แล้วทำไมจะต้องมาแยก config อีก จริงๆ มันก็ไม่จำเป็นหรอกครับแต่หลังจากที่ได้ทำงานมามันจะมีค่าบางค่าเท่านั้นที่เราชอบมาเปลี่ยนอยู่บ่อยๆ แต่ต้องมาควานหาใน XML Config มหาศาล ผมเลยแยกมันออกมาไว้ต่างหากเวลาจะแก้ก็เข้ามาแก้ง่ายๆ
บางงานผมจำเป็นต้องมีการเก็บค่าบางอย่างลงใน Properties file เพื่อเป็น Configuration ไว้ใช้งานในระบบ วิธีการของผมคือ ผมจะวางไฟล์ นี้ไว้ใน Class Path หรือ หัอง SRC จากนั้นทำกาน Load file นี้ขึ้นมาใช้ได้ด้วย PropertyPlaceholderConfigurer ตามตัวอย่าง
<!-- Spring properties file config -->
<bean name="propertyPlaceholder"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:db.properties</value>
</list>
</property>
</bean>
จากตัวอย่าง ผมมีไฟล์ชื่อว่า db.properties วางไว้ใน class path สาเหตุที่วางไว้ในนี้เพราะจะได้ไม่ต้องระบุ Path ให้ยุ่งยากจากนั้นเวลาใช้ก็แค่เรียกใช้งานตาม tag ดังนี้
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" >
<property name="driverClassName" value="${db.driverClassName}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
</bean>
เห็นแบบนี้แล้วอาจสงสัยว่าในเมื่อใช้ Spring มันก็ config ใน XML อยู่แล้วทำไมจะต้องมาแยก config อีก จริงๆ มันก็ไม่จำเป็นหรอกครับแต่หลังจากที่ได้ทำงานมามันจะมีค่าบางค่าเท่านั้นที่เราชอบมาเปลี่ยนอยู่บ่อยๆ แต่ต้องมาควานหาใน XML Config มหาศาล ผมเลยแยกมันออกมาไว้ต่างหากเวลาจะแก้ก็เข้ามาแก้ง่ายๆ
ความคิดเห็น
แสดงความคิดเห็น