`
gaojingsong
  • 浏览: 1196695 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

PropertyUtils 文件解读

阅读更多
单例模式 ,静态代码块
/**
 * property utils
 * single instance
 */
public class PropertyUtils {

    /**
     * logger
     */
private static final Logger logger = LoggerFactory.getLogger(PropertyUtils.class);

    private static final Properties properties = new Properties();

    private PropertyUtils() {
        throw new UnsupportedOperationException("Construct PropertyUtils");
    }

    static {
        String[] propertyFiles = new String[]{"/common.properties"};
        for (String fileName : propertyFiles) {
            InputStream fis = null;
            try {
                fis = PropertyUtils.class.getResourceAsStream(fileName);
                properties.load(fis);

            } catch (IOException e) {
                logger.error(e.getMessage(), e);
                if (fis != null) {
                    IOUtils.closeQuietly(fis);
                }
                System.exit(1);
            } finally {
                IOUtils.closeQuietly(fis);
            }
        }
    }

    /**
     *
     * @return  judge whether resource upload startup
     */
public static Boolean getResUploadStartupState(){
        // HDFS 或者S3 资源是否启用
String resUploadStartupType = PropertyUtils.getUpperCaseString("resource.storage.type");
        ResUploadType resUploadType = ResUploadType.valueOf(resUploadStartupType);
        return resUploadType == ResUploadType.HDFS || resUploadType == ResUploadType.S3;
    }
   // 获取指定key或者获取不到赋予默认值省略
}


相关存储枚举如下:

/**
 * data base types
 */
public enum ResUploadType {
  /**
   * 0 hdfs
   * 1 s3
   * 2 none
   */
HDFS,S3,NONE
}
代码来源于dolphinscheduler 的1.36版本

分享到:
评论

相关推荐

    Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier

    这篇文章将对比分析Apache BeanUtils、PropertyUtils、Spring BeanUtils以及Cglib BeanCopier这四个常用的Bean复制工具的性能和特点。 首先,Apache BeanUtils是Apache Commons项目的一部分,提供了一系列便捷的...

    easymock-propertyutils-1.0.jar

    jar包,官方版本,自测可用

    easymock-propertyutils-1.1-sources.jar

    jar包,官方版本,自测可用

    easymock-propertyutils-1.0-sources.jar

    jar包,官方版本,自测可用

    easymock-propertyutils:未维护的 Java 测试实用程序

    对于压缩包文件`easymock-propertyutils-master`,通常包含的是项目源码、文档、示例或者构建脚本。如果需要深入理解这个库的工作原理,可以查看源码,学习它如何实现JavaBeans属性的模拟和验证。同时,阅读文档和...

    java-property-utils-1.9.jar

    然后,通过提供的API,如`PropertyUtils`类,进行属性文件的操作。例如,读取属性文件中的某个值可以这样实现: ```java import com.jgoodies.properties.util.PropertyUtils; Properties props = PropertyUtils....

    commons-beanutils-1.8.2-bin全功能包,包括所需的5个jar文件和官方API

    - `commons-beanutils.jar`:这是主库文件,包含了BeanUtils的主要功能,如`PropertyUtils`、`BeanUtils`等类,用于处理JavaBeans的操作。 - `commons-collections.jar`:依赖于Apache Commons Collections库,...

    BeanUtils详细解说

    - **配置文件解析**:在Ant构建文件或Tomcat服务器配置文件等XML格式的配置资源中,BeanUtils可以用来读取并设置JavaBean的属性。 #### BeanUtils的核心包与类 BeanUtils的核心功能分布在以下几个包中: 1. `org....

    commons相关jar

    4. **Apache Commons BeanUtils**和**Apache Commons PropertyUtils**:简化了JavaBean对象的操作,如属性的获取、设置、复制等,PropertyUtils还支持XML或属性文件中的属性读取。 5. **Apache Commons Codec**:...

    JAVA java工具类大全

    1:AES 加密解密 2:AuthUtils 授权相关的工具类 3:Base64 base64编码 ...23:PropertyUtils 属性工具类 24:QuerySqlUtil 25:RegexUtils 26:TestClass 28:UploadUtils 文件上传工具 29:UtilTest 30:VideoTool

    commons 系列组件

    4. **BeanUtils**和**PropertyUtils**:提供了一种简单的方式来操纵JavaBeans属性,使得属性的获取和设置更加方便。 5. **Codec**:包含了各种编码和解码算法,如Base64、Hex、URL编码等。 6. **Net**:提供了网络...

    Java反射获取class对象方式解析

    这种方法可以通过类的.class文件来获取Class对象,适合在编译前就已经明确要操作的Class。例如:`Class clazz2 = User.class;` 3. 使用类对象的getClass方法 这种方法可以通过类的实例对象来获取Class对象,适合有...

    cors-filter-1.7.jar,java-property-utils-1.9.jar两个包供学习使用.rar

    标题中的"Cors-filter-1.7.jar"和"java-property-utils-1.9.jar"是两个Java库,分别用于处理跨域资源共享(CORS)和处理Java属性文件。这两个库在开发Web应用时非常常见,特别是在Java服务器端编程中。 首先,让...

    lomok.docx

    本文将重点讨论 Lombok 的使用场景以及如何替代 BeanUtils 和 PropertyUtils 进行属性复制。 #### 二、BeanUtils.copyProperties 与 PropertyUtils.copyProperties 的用法及区别 在 Java 开发中,经常会遇到需要...

    beanutils-1.8.3

    开发者可以通过导入这个jar,然后调用BeanUtils类库提供的各种静态方法,如`PropertyUtils.getProperty()`用于获取对象的属性值,`PropertyUtils.setProperty()`用于设置属性值,以及`BeanUtils.copyProperties()`...

    commons-lang3-3.3.2 JAR包程序文件

    8. **对象创建和复制**:`ObjectUtils` 提供了对象的默认值处理,`BeanUtils` 和 `PropertyUtils` 则提供了基于 Java Beans 的属性操作,包括读写属性、深度拷贝等。 9. **字符集和编码**:`CharSetUtils` 和 `...

    BeanUtils详细讲解.pdf

    PropertyUtils.getSimpleProperty(Object bean, String name)用于获取简单属性,而PropertyUtils.setSimpleProperty(Object bean, String name, Object value)用于设置简单属性。 - **Indexed-Collection**: 用于...

    commons-lib

    7. **BeanUtils**和**PropertyUtils**:这两个组件提供了对象属性和Java Bean之间的复制和操作功能,简化了对象间的属性设置和复制。 8. **FileUpload**:处理HTTP多部分请求,常用于上传文件。 9. **Email**:...

    commons的jar包

    4. **Commons BeanUtils**和**Commons PropertyUtils**:提供了Bean对象属性操作的便捷方法,使得属性的获取和设置更加简单,同时也支持动态属性操作。 5. **Commons Net**:包含了各种网络协议的实现,如FTP、SMTP...

Global site tag (gtag.js) - Google Analytics