Properties类
继承关系
java.lang.Object
  java.util.Dictionary<K,V>
      java.util.Hashtable<Object,Object>
          java.util.Properties
所有已实现的接口:
Serializable, Cloneable, Map<Object,Object>
直接已知子类:
Provider

public class Propertiesextends Hashtable<Object,Object>
Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。
此类是线程安全的:多个线程可以共享单个 Properties 对象而无需进行外部同步

System.getenv() 方法是获取指定的环境变量的值。
System.getenv(String str) 接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null。
System.getProperty() 是获取系统的相关属性,包括文件编码、操作系统名称、区域、用户名等,此属性一般由jvm自动获取,不能设置。
System.getProperty(String str) 接收参数为任意字符串,当存在指定属性时即返回属性的值,否则返回null。
public class Environment extends PropertiesLoaderSupport implements FactoryBean<Properties>{
   public Properties getObject() throws Exception {}
}
   ConfigurableApplicationContext ctx = new ClassPathXmlApplicationContext(getContextFilename(args));
        ctx.registerShutdownHook();
        //使用自定义工厂方法,返回的是一个对象。前面的博客有详细说明
        Properties prtis =  (Properties) ctx.getBean("environmentFactoryBean");
        System.out.println(prtis.getProperty("jdbcUrl"));
        Enumeration en = prtis.propertyNames();
      /*  while(en.hasMoreElements()){
            String key = (String) en.nextElement();
            String value = prtis.getProperty(key);
            System.out.println(key + " = " + value);
        }*/
        Map env = System.getenv();
        System.out.println(env.toString());
java.util  接口 Enumeration<E>
所有已知子接口:
NamingEnumeration<T>
所有已知实现类:
StringTokenizer
public interface Enumeration<E>
实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。
例如,要输出 Vector<E> v 的所有元素,可使用以下方法:
   for (Enumeration<E> e = v.elements(); e.hasMoreElements();)
       System.out.println(e.nextElement());
PropertiesLoaderSupport类有一个重要的protected void loadProperties(Properties props)方法,
查看它的注释,可以知道该方法的作用是将PropertyPlaceholderConfigurer 中locations属性所定义的属性文件的内容读取到props入参对象中。

Properties类和如何操作属性的更多相关文章

  1. 关于Properties类常用的操作

    import java.io.*;import java.util.Enumeration;import java.util.Properties;/** * 关于Properties类常用的操作 * ...

  2. Java中Properties类的操作

    知识学而不用,就等于没用,到真正用到的时候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写,外加 ...

  3. Java中Properties类的操作配置文件

    知识学而不用,就等于没用,到真正用到的时 候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用 Java来写, ...

  4. Java 中 Properties 类的操作

    一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...

  5. Java中Properties类

    1 简介: JDK提供的java.util.Properties类继承自Hashtable类并且实现了Map接口,用map来存储key-value数据,所以存入的数据是无序的.其中键和值都是字符串类型 ...

  6. 对Java中properties类的理解

    转载于:https://www.cnblogs.com/bakari/p/3562244.html 一.Java Properties类 Java中有个比较重要的类Properties(Java.ut ...

  7. Java的Properties类使用

    一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...

  8. 关于Java的Properties类

    Properties类 先来学习下Properties类吧. Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. ...

  9. Hashtable和HashMap的区别,Properties类的简单使用

    一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...

随机推荐

  1. Android - fragment Manager

    fragment基本使用: http://www.cnblogs.com/qlky/p/5415679.html Fragmeng优点 Fragment可以使你能够将activity分离成多个可重用的 ...

  2. php扩展php-redis安装与使用

    一.redis的安装 1,安装redis版本 下载页面:https://redis.io/download 安装一个老版本3.2.11:http://download.redis.io/release ...

  3. 大数据java基础day01

    day01笔记 1.==操作符和equals方法 equals方法存在于Object类中,所有类的equals方法都继承于Object 2.String类的常用方法 ①.replace()替换字符串 ...

  4. var和const和let的区别

    简述: 1.前端的变量申明,可以用到var,ES6的const(衡量)/let(变量) 2.在ES5用的都是var,到ES6之后,也就是2015年开始出现const/let. var 不会报错,有声明 ...

  5. ActiveReports 报表应用教程 (13)---嵌入第三方控件

    葡萄城ActiveReports报表与Visual Studio完美集成,给我们带来更为灵活易用的报表定制和自定义控件嵌入支持,除了可以在报表中使用葡萄城ActiveReports报表内置控件外,您还 ...

  6. flutter tab切换页面防止重置

    问题描述:TabBar 配合TabBarView切换页面,然后每个页面是一个listview加载数据,但是切换页面后listview的数据会被重置, 重新被加载了,解决办法使用 with Automa ...

  7. CSS 实例之打开大门

    本个实例主要的效果如下图所示 本案例主要运用到了3D旋转和定位技术.具体步骤如下: 1.首先在页面主体加三个很简单的div标签: <div class="door"> ...

  8. memcached 查看所有的key

    1. cmd上登录memcache   1 > telnet 127.0.0.1 11211 2. 列出所有keys   1 2 3 4 stats items // 这条是命令 STAT it ...

  9. Oracle EBS OPM update material txn

    --update_material_txn --created by jenrry DECLARE p_mmti_rec mtl_transactions_interface%ROWTYPE; p_m ...

  10. 64位的Sql Server使用OPENROWSET导入xlsx格式的excel数据的时候报错(转载)

    In the old times while all the CPUs were 32bit, we were happily using JET OLEDB Provider reaching Ex ...