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