实际的开发过程中,将一些配置属性从java代码中提取到properties文件中是个很好的选择,降低了代码的耦合度。下面介绍两种通过spring读取properties文件的方法,以ip地址配置为例。ip.properties文件:
host=127.0.01 port=80801、 使用org.springframework.beans.factory.config.PropertyPlaceholderConfigurer 类解析,在applicationContenxt.xml添加配置:<value>classpath*:/ip.properties</value>这样可以在其他bean定义中使用:<property name="host" value="${host}" />另外一种通过bean的@value注解实现:1: import org.springframework.beans.factory.annotation.Value;
2: import org.springframework.stereotype.Component;
3:
4: @Component
5: public class Sample{6:
7: @Value("${host}")8: private String host;9: @Value("${port}")10: private String port;11: }
然后注入Sample 对象即可:@Autowired private Sample sample;
2、使用org.springframework.core.io.support.PropertiesLoaderUtils 类来加载properties文件
1: import org.springframework.core.io.ClassPathResource;
2: import org.springframework.core.io.Resource;
3: import org.springframework.core.io.support.PropertiesLoaderUtils;
4:
5: Resource resource = new ClassPathResource("/ip.properties");6: Properties props = PropertiesLoaderUtils.loadProperties(resource);
7: Set<Object> keys = props.keySet();
8: for(Object key : keys){9: System.out.println(key+" : "+props.get(key));10: }
两种方法输出结果:
port : 8080
host : 127.0.01