JavaEE 中DEBUG模式的设计
来源:互联网 发布:淘宝鹦鹉 编辑:程序博客网 时间:2024/06/08 23:20
JavaEE 中DEBUG模式的设计
通过DEBUG模式我们可以快速的切换线上和线下的环境
public class Final { // DEBUG模式,该字段必须放在前面,因为都是静态的,所以JVM会按照代码顺序加载 // DEBUG模式的设计依赖此字段,该字段放到后面会报错 private static boolean DEBUG; // 包访问权限的静态字段 // 把该值访问权限限制在包内,提供给Const使用 static String HOST_NAME; static int PASSWORD; // 静态加载块,在类加载的时候就加载数据 static { // 通过方法来实现控制的编程思想会让你的代码更具健壮性 // 实现封装性的效果也更好 // 代码的易读性和维护性也更好 // 切换DEBUG模式只需要调用disableDebug或者enableDebug方法即可 disableDebug(); // DEBUG控制的实现 if (DEBUG) { HOST_NAME = "admintest"; PASSWORD = 123456; } else { HOST_NAME = "admin"; PASSWORD = 20170720; } } // 开启DEBUG模式 private static void enableDebug() { DEBUG = true; } // 关闭DEBUG模式 private static void disableDebug() { DEBUG = false; } // 私有的构造方法,禁止常量构造器被外部创建 private Final(){}}
public enum Const { // 使用枚举作为常量池,来解决Final类不能使用final的问题 // 因为枚举本身就是常量形式 // 而且他是绝对线程安全的 HOST_NAME(Final.HOST_NAME), PASSWORD(Final.PASSWORD); private Object value; // 私有的构造方法,禁止常量池被外部创建 private Const(final Object value) { this.value = value; } // 返回object, public Object getValue() { return value; } // 返回int, public int getInt() { return (int)value; } // 返回其它类型 // ... // enum类型的类会默认继承Enum类 // 而Enum的toString方法会返回构造函数的name参数,所以此处不覆写toString方法 public String getString() { return value.toString(); }}
public class Use { public static void main(String[] args) { String s = Const.HOST_NAME.getString(); int i = Const.PASSWORD.getInt(); }}
阅读全文
2 0
- JavaEE 中DEBUG模式的设计
- java-javaee-软件工程-设计模式
- JavaEE之DAO设计模式
- 初识JavaEE设计模式-MVC
- javaEE Tomcat的系统架构与设计模式
- javaee基础之tomcat的系统架构与设计模式
- javaEE的开发模式
- javaEE的开发模式
- JavaEE设计模式之表示层模式
- 设计模式(Javaee)之---监听者模式
- Eclipse中Debug模式的使用
- eclipse中debug模式的基本运用
- eclipse中debug模式的使用
- 对JavaEE中mvc模式以及三层架构的理解
- thinkPHP中debug模式
- VS中Debug模式和Release模式的区别
- VS中Debug模式和Release模式的区别
- VS中Debug模式和Release模式的区别
- Queue集合中的PriorityQueue实现类
- 理解ResNet结构与TensorFlow代码分析
- 手动无限轮播
- 【CQOI2017】小Q的棋盘
- java成长之路(三)---数组
- JavaEE 中DEBUG模式的设计
- 基于Docker搭建ActiveMQ的高可用集群
- oracle取出每个分组的第一条记录
- js格式化小数,保留指定长度是截取,不是四舍五入
- Codeforces #39C: Moon Craters 题解
- POJ 2395Out of Hay(Prim模板题)
- 【Eternallyc】模板题-Floyd算法
- Ueditor与SpringMVC结合配置
- Tensorflow可以使用tensor的name索引tensor,用于sess.run