文档章节

Java中如何获取spring中配置的properties属性文件内容

浮躁的码农
 浮躁的码农
发布于 2015/04/25 16:01
字数 248
阅读 37
收藏 0
点赞 0
评论 0

1.通过spring 配置properties文件

?
1
2
3
4
5
6
7
8
9
<!-- 在XML配置文件中加入外部属性文件,当然也可以指定外部文件的编码 -->
<beanid="propertyConfigurer"class="PropertyUtils">
  <propertyname="locations">
    <list>
     <value>classpath:shishuocms.properties</value>
    <!-- 指定外部文件的编码 -->
    </list>
  </property>
</bean>



2.编写自定义的类PropertyUtils  继承PropertyPlaceholderConfigurer,重写processProperties 方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
importjava.util.Enumeration;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Properties;
importorg.apache.commons.lang3.StringUtils;
importorg.apache.log4j.Logger;
importorg.springframework.beans.BeansException;
importorg.springframework.beans.factory.config.ConfigurableListableBeanFactory;
importorg.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
 
importcom.shishuo.cms.exception.PropertyIsNullException;
 
/**
 * 属性工具类
 *
 * @author Herbert
 *
 */
publicclassPropertyUtilsextendsPropertyPlaceholderConfigurer {
 
    publicstaticfinalLogger logger = Logger.getLogger(PropertyUtils.class);
 
    privatestaticMap<String, String> propertyMap;
 
    @Override
    protectedvoidprocessProperties(
            ConfigurableListableBeanFactory beanFactoryToProcess,
            Properties props)throwsBeansException {
        super.processProperties(beanFactoryToProcess, props);
        propertyMap =newHashMap<String, String>();
        for(Object key : props.keySet()) {
            String keyStr = key.toString();
            String value = props.getProperty(keyStr);
            propertyMap.put(keyStr, value);
        }
    }
 
 
    publicstaticString getValue(String name)throwsPropertyIsNullException {
        String value = propertyMap.get(name);
        if(StringUtils.isBlank(value)) {
            String error ="属性["+ name +"]的值为空";
            logger.fatal(error);
            thrownewPropertyIsNullException(error);
        }else{
            returnvalue;
        }
    }
 
     
}



3.获取properties 参数值

String val = propertyConfigurer.getValue("oracle.url");

© 著作权归作者所有

共有 人打赏支持
浮躁的码农

浮躁的码农

粉丝 57
博文 605
码字总数 141390
作品 0
松江
程序员

暂无相关文章

SpringCloud 微服务 (六) 服务通信 RestTemplate

壹 通信的方式主要有两种,Http 和 RPC SpringCloud使用的是Http方式通信, Dubbo的通信方式是RPC 记录学习SpringCloud的restful方式: RestTemplate (本篇)、Feign 贰 RestTemplate 类似 Http...

___大侠 ⋅ 14分钟前 ⋅ 0

React创建组件的三种方式

1.无状态函数式组建 无状态函数式组件,也就是你无法使用State,也无法使用组件的生命周期方法,这就决定了函数组件都是展示性组件,接收Props,渲染DOM,而不关注其他逻辑。 无状态函数式组...

kimyeongnam ⋅ 20分钟前 ⋅ 0

react 判断实例类型

今天在写组件的时候想通过判断内部子元素不同而在父元素上应用不同的class,于是首先要解决的就是如何判断子元素的类型。 这里附上一个讲的很全面的文章: https://www.cnblogs.com/onepixel...

球球 ⋅ 27分钟前 ⋅ 0

Centos7备份数据到百度网盘

一、关于 有时候我们需要进行数据备份,如果能自动将数据备份到百度网盘,那将会非常方便。百度网盘有较大的存储空间,而且不怕数据丢失,安全可靠。下面简单的总结一下如何使用 bypy 实现百...

zctzl ⋅ 41分钟前 ⋅ 0

开启远程SSH

SSH默认没有开启账号密码登陆,需要再配置表中修改: vim /etc/ssh/sshd_configPermitRootLogin yes #是否可以使用root账户登陆PasswordAuthentication yes #是都开启密码登陆ser...

Kefy ⋅ 44分钟前 ⋅ 0

Zookeeper3.4.11+Hadoop2.7.6+Hbase2.0.0搭建分布式集群

有段时间没更新博客了,趁着最近有点时间,来完成之前关于集群部署方面的知识。今天主要讲一讲Zookeeper+Hadoop+Hbase分布式集群的搭建,在我前几篇的集群搭建的博客中已经分别讲过了Zookeep...

海岸线的曙光 ⋅ 51分钟前 ⋅ 0

js保留两位小数方法总结

本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容: 一、我们首先从经典的“四舍五入”算法讲起 1、四舍五入的情况...

孟飞阳 ⋅ 今天 ⋅ 0

python log

python log 处理方式 log_demo.py: 日志代码。 #! /usr/bin/env python# -*- coding: utf-8 -*-# __author__ = "Q1mi""""logging配置"""import osimport logging.config# 定义三种......

inidcard ⋅ 今天 ⋅ 0

mysql 中的信息数据库以及 shell 查询 sql

Information_schema 是 MySQL 自带的信息数据库,里面的“表”保存着服务器当前的实时信息。它提供了访问数据库元数据的方式。 什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,...

blackfoxya ⋅ 今天 ⋅ 0

maven配置阿里云镜像享受飞的感觉

1.在maven目录下的conf/setting.xml中找到mirrors添加如下内容,对所有使用改maven打包的项目生效。 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.al......

kalnkaya ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部