java使用PropertiesConfiguration类读取properties文件的值

版权声明:版权声明:本文为博主原创文章,未经允许请勿转载,谢谢 https://blog.csdn.net/a972669015/article/details/87974628

结构:

配置文件大概长这样子:

#vpn
vpn.proxyHost = 127.0.0.1
vpn.proxyPort = 8787
vpn.scheme = http

#twitter
twitter.ConsumerKey = ****************************
twitter.ConsumerSecret = ****************************
twitter.Token = ****************************
twitter.TokenSecret = ****************************

#facebook
facebook.token = ****************************
facebook.search.url = https://graph.facebook.com/
#facebook.search.param = /posts?fields=id,message,picture,link,type,created_time&limit=30&access_token=

#youtube
youtube.videoUrl = https://www.youtube.com/watch?v=
youtube.search.feed = https://www.googleapis.com/youtube/v3/search?key=
youtube.search.videos = https://www.googleapis.com/youtube/v3/videos?key=
youtube.search.statistics = &part=statistics&id=
#youtube.search.user = &part=snippet,id&maxResults=50&order=date&channelId=
youtube.token = ****************************

#sina
sina.token = ****************************
client_ID = ****************************
client_SERCRET = ****************************
redirect_URI = https://api.weibo.com/oauth2/default.html
baseURL=https://api.weibo.com/2/
accessTokenURL=https://api.weibo.com/oauth2/access_token
authorizeURL=https://api.weibo.com/oauth2/authorize
rmURL=https://rm.api.weibo.com/2/

#neo4j
neo.uri = bolt://localhost:7687
neo.username = neo4j
neo.password = admin
neo.databasePath = D:\\neo4j-community-3.5.0-windows\\neo4j-community-3.5.0\\data\\databases\\graph.db

实体类长这样子:

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.Configuration;



/**
 * 配置文件实体类
 * @Title:  ConfigEntity.java  
 * @author:Zhang
 * @date: 2018年11月22日 下午4:47:40 
 */
public class SnsConfig {
	
	private Configuration config;
    private static SnsConfig instance;
	//VPN
	private static final String PROXYHOST = "vpn.proxyHost";
	private static final String PROXYPORT = "vpn.proxyPort";
	private static final String SCHEME = "vpn.scheme";
	//Twitter
	private static final String TWITTER_CONSUMER_KEY = "twitter.ConsumerKey";
	private static final String TWITTER_CONSUMER_SECRET = "twitter.ConsumerSecret";
	private static final String TWITTER_TOKEN = "twitter.Token";
	private static final String TWITTER_TOKEN_SECRET = "twitter.TokenSecret";
	//FaceBook
	private static final String FACEBOOK_TOKEN = "facebook.token";
	private static final String FACEBOOK_URL = "facebook.search.url";
	private static final String FACEBOOK_PARAM = "facebook.search.param";
	//YouTube
	private static final String VEDIOURL ="youtube.videoUrl";
	private static final String YOUTUBE_SEARCH_FEED = "youtube.search.feed";
	private static final String YOUTUBE_SEARCH_USER = "youtube.search.user";
	private static final String YOUTUBE_TOKEN = "youtube.token";
	private static final String YOUTUBE_SEARCH_VIDEOS = "youtube.search.videos";
	private static final String YOUTUBE_SEARCH_STATISTICS = "youtube.search.statistics";
	//SinaWB
	private static final String SINA_TOKEN = "sina.token";
	//neo4j
	private static final String NEO_URI = "neo.uri";
	private static final String NEO_USERNAME = "neo.username";
	private static final String NEO_PASSWORD = "neo.password";
	private static final String NEO_DATABASEPATH = "neo.databasePath";
	
	
	SnsConfig() {
        super();
        try {
        	//此处修改配置文件名称
            config = new PropertiesConfiguration("config.properties");
        } catch (ConfigurationException e) {
            e.getMessage();
        }
    }

    public static SnsConfig getInstance() {
        if (instance == null) {
            synchronized (SnsConfig.class) {
                if (instance == null)
                    instance = new SnsConfig();
            }
        }
        return instance;
    }
    
    
    
    /**
	 * @return the neoDatabasepath
	 */
	public String getNeoDatabasepath() {
		return config.getString(NEO_DATABASEPATH);
	}

	/**
	 * @return the neoUri
	 */
	public String getNeoUri() {
		return config.getString(NEO_URI);
	}

	/**
	 * @return the neoUsername
	 */
	public String getNeoUsername() {
		return config.getString(NEO_USERNAME);
	}

	/**
	 * @return the neoPassword
	 */
	public String getNeoPassword() {
		return config.getString(NEO_PASSWORD);
	}

	/**
	 * @return the sinaToken
	 */
	public String getSinaToken() {
		return config.getString(SINA_TOKEN);
	}

	/**
	 * @return the youtubeSearchVideos
	 */
	public String getYoutubeSearchVideos() {
		return config.getString(YOUTUBE_SEARCH_VIDEOS);
	}

	/**
	 * @return the youtubeSearchStatistics
	 */
	public String getYoutubeSearchStatistics() {
		return config.getString(YOUTUBE_SEARCH_STATISTICS);
	}
    
	/**
	 * @return the proxyHost
	 */
	public String getProxyhost() {
		return config.getString(PROXYHOST);
	}

	/**
	 * @return the proxyPort
	 */
	public String getProxyPort() {
		return config.getString(PROXYPORT);
	}

	
	
	/**
	 * @return the scheme
	 */
	public String getScheme() {
		return config.getString(SCHEME);
	}

	/**
	 * @return the twitterConsumerKey
	 */
	public String getTwitterConsumerKey() {
		return config.getString(TWITTER_CONSUMER_KEY);
	}

	/**
	 * @return the twitterConsumerSecret
	 */
	public String getTwitterConsumerSecret() {
		return config.getString(TWITTER_CONSUMER_SECRET);
	}

	/**
	 * @return the twitterToken
	 */
	public String getTwitterToken() {
		return config.getString(TWITTER_TOKEN);
	}

	/**
	 * @return the twitterTokenSecret
	 */
	public String getTwitterTokenSecret() {
		return config.getString(TWITTER_TOKEN_SECRET);
	}

	/**
	 * @return the facebookToken
	 */
	public String getFacebookToken() {
		return config.getString(FACEBOOK_TOKEN);
	}

	/**
	 * @return the facebookUrl
	 */
	public String getFacebookUrl() {
		return config.getString(FACEBOOK_URL);
	}

	/**
	 * @return the facebookParam
	 */
	public String getFacebookParam() {
		return config.getString(FACEBOOK_PARAM);
	}

	/**
	 * @return the vediourl
	 */
	public String getVediourl() {
		return config.getString(VEDIOURL);
	}

	/**
	 * @return the youtubeSearchFeed
	 */
	public String getYoutubeSearchFeed() {
		return config.getString(YOUTUBE_SEARCH_FEED);
	}

	/**
	 * @return the youtubeSearchUser
	 */
	public String getYoutubeSearchUser() {
		return config.getString(YOUTUBE_SEARCH_USER);
	}

	/**
	 * @return the youtubeToken
	 */
	public String getYoutubeToken() {
		return config.getString(YOUTUBE_TOKEN);
	}
	
	
    
}

使用(部分代码):

/**
 * @Title:  VpnUtil.java  
 * @author:Zhang
 * @date: 2018年11月16日 下午5:37:36 
 */
@Component
public class VpnUtil {
	
	private static final String PROXYHOST = SnsConfig.getInstance().getProxyhost();
	private static final String PROXYPORT = SnsConfig.getInstance().getProxyPort();
	
	public static void setVpn() {
		//开启代理
        System.setProperty("proxySet", "true");
        //设置Http代理
        System.setProperty("http.proxyHost", PROXYHOST);
        System.setProperty("http.proxyPort", PROXYPORT);
	}

}
/**
 * 解析twitter数据
 * @Title:  TwitterVipuserParser.java  
 * @author:Zhang
 * @date: 2018年11月6日 下午3:31:22
 */
 
@Component("twitterVipuserParser")
public class TwitterVipuserParser {
	
	private static final Logger log = LoggerFactory.getLogger(TwitterVipuserParser.class);
	private static final String CONSUMER_KEY = SnsConfig.getInstance().getTwitterConsumerKey();
	private static final String CONSUMER_SECRET = SnsConfig.getInstance().getTwitterConsumerSecret();
	private static final String TOKEN = SnsConfig.getInstance().getTwitterToken();
	private static final String TOKEN_SECRET = SnsConfig.getInstance().getTwitterTokenSecret();
	

因为配置文件中的账号会过期,所以需要经常做修改,个人觉得这样会方便一些,不用改代码了。

如果需要新增一条配置数据,只要在配置实体类加个字段就好了。

------------------------------------------------------------------------------------------------------------------------------------------------

jar包:

<dependency>
       <groupId>commons-configuration</groupId>
       <artifactId>commons-configuration</artifactId>
</dependency>

猜你喜欢

转载自blog.csdn.net/a972669015/article/details/87974628