java中属于常量_java中的常量和属性
Java最佳实践建议将属性作为常量读取.那么,您认为达到目标的最佳方法是什么?我的方法是:一个Configuration类只读取一次属性文件(单例模式),并使用此类在需要时读取属性作为常量.并存储一个Constants类:
>属性名称可在属性文件中找到它们(例如app.database.url).
>静态常量(我不希望用户配置的静态常量,例如
CONSTANT_URL = “myurl.com”).
public final class Configurations {
private Properties properties = null;
private static Configurations instance = null;
/** Private constructor */
private Configurations (){
this.properties = new Properties();
try{
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream(Constants.PATH_CONFFILE));
}catch(Exception ex){
ex.printStackTrace();
}
}
/** Creates the instance is synchronized to avoid multithreads problems */
private synchronized static void createInstance () {
if (instance == null) {
instance = new Configurations ();
}
}
/** Get the properties instance. Uses singleton pattern */
public static Configurations getInstance(){
// Uses singleton pattern to guarantee the creation of only one instance
if(instance == null) {
createInstance();
}
return instance;
}
/** Get a property of the property file */
public String getProperty(String key){
String result = null;
if(key !=null && !key.trim().isEmpty()){
result = this.properties.getProperty(key);
}
return result;
}
/** Override the clone method to ensure the "unique instance" requeriment of this class */
public Object clone() throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}}
Constant类包含对属性和常量的引用.
public class Constants {
// Properties (user configurable)
public static final String DB_URL = "db.url";
public static final String DB_DRIVER = "db.driver";
// Constants (not user configurable)
public static final String PATH_CONFFILE = "config/config.properties";
public static final int MYCONSTANT_ONE = 1;
}
属性文件将是:
db.url=www.myurl.com
db.driver=mysql
要读取属性和常量将是:
// Constants
int i = Constants.MYCONSTANT_ONE;
// Properties
String url = Configurations.getInstance().getProperty(Constants.DB_URL);
你认为这是一个好方法吗?在Java中读取属性和常量的方法是什么?
提前致谢.
java中属于常量_java中的常量和属性相关推荐
- java定义常量_JAVA中定义常量方法
JAVA中定义常量方法 (2013-01-28 14:30:19) 标签: it 一.常量定义的基本注意事项. 在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字) ...
- java定义字符串常量_Java中的字符串常量池
ava中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new ...
- java变量存储位置_java 中变量存储位置的区别
[原文] 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量 ...
- java new string 图_Java中String直接赋字符串和new String的一些问题
今天课堂测试做了几道String的练习题,做完直接心态爆炸...... 整理自下面两篇博客: 首先先来看看下面的代码: public classStringTest {public static vo ...
- java中怪物移动_java中两大怪物,附带面试题!
最近老是有小伙伴问类和Object相关的问题,感觉还是很多人对此不是很明白,那我们今天就干掉这两个怪物. 类介绍 Java 程序是由若干个类组成的,类也是面向对象编程思想的具体实现. 以下为类的定义: ...
- java有什么字符串_Java 中操作字符串都有哪些类?它们之间有什么区别
1. String.StringBuffer.StringBuilder 原文出自<编写高质量代码:改善 Java 程序的 151 个建议> CharSequence 接口有三个实现类与字 ...
- JAVA中equals空_Java中为什么查询空字符串跟判断是否为null的时候可以不用equals?...(亲测)
if(id!=null&&id!="") 代码中经常这样写,空字符串跟null 都不用equals吗? 首先,你的 id!="" 这种写法是错误 ...
- java中static作用_java中static作用详解
static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以修饰静态static代码块,但是Java语言中没有全局变量的概念. 被static ...
- java final内存机制_Java中的内存处理机制和final、static、final static总结
装载自:http://blog.csdn.net/wqthaha/article/details/20923579 Java程序运行在JVM上,可以把JVM理解成Java程序和操作系统之间的桥梁,JV ...
- Java字符串的重要性_java中的字符串相关知识整理
字符串就是一系列的字符组合的串,如果写过C/C++的应该就了解,在字符串的操作上会有许多操作的函数与类,用于简化代码的开发.一方面是因为字符串在代码中会频繁用到,另一方面是因为字符串的操作非常麻烦. ...
最新文章
- 无向图的最短路径求解算法之——Dijkstra算法
- 国内哪里培训python比较好-现在哪家培训机构培训python比较靠谱?
- ASP.NET服务器端控件原理分析
- bzoj3551: [ONTAK2010]Peaks加强版
- Nginx的页面中文乱码解决方法
- java 构造函数和_Java类和构造函数
- LiveVideoStackCon上海2019音视频技术大会 7折早鸟票最后3天
- maf中anglearc_Oracle MAF中的LOV
- matlab生成exe-在没有安装matlab的电脑上运行matlab生成的exe
- 由浅到深理解ROS(4)
- 冲刺阶段(二)第五天 5月16日
- Redis面试 - 生产环境中的 redis 是怎么部署的?
- javascript 内置对象学习 笔记:
- 3d激光雷达开发(lidar使用)
- (整理)C/C++野指针
- 分位数回归-Quantile regression
- VR火得不行 那么它商业化的突破点到底在哪里?
- STM32F103C8T6个人学习之路01-芯片介绍
- 用CSS设计艺术字集锦
- 关于计算机天赋测试,这是一道你绝没测过的测试题,能测出你的天赋究竟是什么...