在spring中,读取properties文件十分容易
比如有properties文件:
SOLACE_VPN=D_JAVA_VPM
SOLACE_CONNECTION_FACTORY=D_JAVA_VPM_CF
SOLACE_OUTPUT_QUEUE_NAME=JAVAHONK_TEST
SOLACE_USERNAME_PUB=JAVAHONK
SOLACE_PASSWORD_PUB=PASS
然后可以使用注解类:
spring配置文件:
使用propertyHolder属性,指定自定义类解析:
然后测试:
比如有properties文件:
SOLACE_VPN=D_JAVA_VPM
SOLACE_CONNECTION_FACTORY=D_JAVA_VPM_CF
SOLACE_OUTPUT_QUEUE_NAME=JAVAHONK_TEST
SOLACE_USERNAME_PUB=JAVAHONK
SOLACE_PASSWORD_PUB=PASS
然后可以使用注解类:
@Component
public class PropertyHolder {
@Value("${SOLACE_HOST}")
private String SOLACE_HOST;
@Value("${SOLACE_VPN}")
private String SOLACE_VPN;
@Value("${SOLACE_CONNECTION_FACTORY}")
private String SOLACE_CONNECTION_FACTORY;
@Value("${SOLACE_OUTPUT_QUEUE_NAME}")
private String SOLACE_OUTPUT_QUEUE_NAME;
@Value("${SOLACE_USERNAME_PUB}")
private String SOLACE_USERNAME_PUB;
@Value("${SOLACE_PASSWORD_PUB}")
private String SOLACE_PASSWORD_PUB;
public String getSOLACE_HOST() {
return SOLACE_HOST;
}
public void setSOLACE_HOST(String sOLACE_HOST) {
SOLACE_HOST = sOLACE_HOST;
}
public String getSOLACE_VPN() {
return SOLACE_VPN;
}
public void setSOLACE_VPN(String sOLACE_VPN) {
SOLACE_VPN = sOLACE_VPN;
}
public String getSOLACE_CONNECTION_FACTORY() {
return SOLACE_CONNECTION_FACTORY;
}
public void setSOLACE_CONNECTION_FACTORY(String sOLACE_CONNECTION_FACTORY) {
SOLACE_CONNECTION_FACTORY = sOLACE_CONNECTION_FACTORY;
}
public String getSOLACE_OUTPUT_QUEUE_NAME() {
return SOLACE_OUTPUT_QUEUE_NAME;
}
public void setSOLACE_OUTPUT_QUEUE_NAME(String sOLACE_OUTPUT_QUEUE_NAME) {
SOLACE_OUTPUT_QUEUE_NAME = sOLACE_OUTPUT_QUEUE_NAME;
}
public String getSOLACE_USERNAME_PUB() {
return SOLACE_USERNAME_PUB;
}
public void setSOLACE_USERNAME_PUB(String sOLACE_USERNAME_PUB) {
SOLACE_USERNAME_PUB = sOLACE_USERNAME_PUB;
}
public String getSOLACE_PASSWORD_PUB() {
return SOLACE_PASSWORD_PUB;
}
public void setSOLACE_PASSWORD_PUB(String sOLACE_PASSWORD_PUB) {
SOLACE_PASSWORD_PUB = sOLACE_PASSWORD_PUB;
}
}
spring配置文件:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:javahonk-solace.properties</value>
</list>
</property>
<property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>
<bean id="propertyHolder" class="com.migration.test.PropertyHolder"></bean>
</beans>
使用propertyHolder属性,指定自定义类解析:
然后测试:
ApplicationContext context = new ClassPathXmlApplicationContext("spring-context.xml");
PropertyHolder propertyHolder = context.getBean(PropertyHolder.class);
System.out.println(propertyHolder.getSOLACE_HOST());
System.out.println(propertyHolder.getSOLACE_CONNECTION_FACTORY());
System.out.println(propertyHolder.getSOLACE_OUTPUT_QUEUE_NAME());
((AbstractApplicationContext) context).close();