Bạn có thể đề cập đến các thuộc tính biến của mình trong tệp thuộc tính và xác định các tệp thuộc tính cụ thể của môi trường như local.properies, Production.propertied, v.v.
Bây giờ dựa trên môi trường, một trong những tệp thuộc tính này có thể được đọc trong một trình nghe được gọi khi khởi động, như ServletContextListener.
Tệp thuộc tính sẽ chứa các giá trị cụ thể của môi trường cho các khóa khác nhau.
Mẫu "local.propeties"
db.logsDataSource.url=jdbc:mysql://localhost:3306/logs
db.logsDataSource.username=root
db.logsDataSource.password=root
db.dataSource.url=jdbc:mysql://localhost:3306/main
db.dataSource.username=root
db.dataSource.password=root
Mẫu "sản xuất. Sản phẩm"
db.logsDataSource.url=jdbc:mariadb://111.111.111.111:3306/logs
db.logsDataSource.username=admin
db.logsDataSource.password=xyzqer
db.dataSource.url=jdbc:mysql://111.111.111.111:3306/carsinfo
db.dataSource.username=admin
db.dataSource.password=safasf@mn
Để sử dụng tệp thuộc tính này, bạn có thể sử dụng REsource như được đề cập dưới đây
PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
ResourceLoader resourceLoader = new DefaultResourceLoader();
Resource resource = resourceLoader.getResource("classpath:"+System.getenv("SERVER_TYPE")+"DB.properties");
configurer.setLocation(resource);
configurer.postProcessBeanFactory(beanFactory);
SERVER_TYPE có thể được định nghĩa là biến môi trường với các giá trị phù hợp cho môi trường sản xuất và cục bộ.
Với những thay đổi này, appplicationContext.xml sẽ có các thay đổi sau
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="${db.dataSource.url}" />
<property name="username" value="${db.dataSource.username}" />
<property name="password" value="${db.dataSource.password}" />
Hi vọng điêu nay co ich .