单例模式 ,静态代码块
/**
* 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版本
分享到:
相关推荐
这篇文章将对比分析Apache BeanUtils、PropertyUtils、Spring BeanUtils以及Cglib BeanCopier这四个常用的Bean复制工具的性能和特点。 首先,Apache BeanUtils是Apache Commons项目的一部分,提供了一系列便捷的...
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
对于压缩包文件`easymock-propertyutils-master`,通常包含的是项目源码、文档、示例或者构建脚本。如果需要深入理解这个库的工作原理,可以查看源码,学习它如何实现JavaBeans属性的模拟和验证。同时,阅读文档和...
然后,通过提供的API,如`PropertyUtils`类,进行属性文件的操作。例如,读取属性文件中的某个值可以这样实现: ```java import com.jgoodies.properties.util.PropertyUtils; Properties props = PropertyUtils....
- `commons-beanutils.jar`:这是主库文件,包含了BeanUtils的主要功能,如`PropertyUtils`、`BeanUtils`等类,用于处理JavaBeans的操作。 - `commons-collections.jar`:依赖于Apache Commons Collections库,...
- **配置文件解析**:在Ant构建文件或Tomcat服务器配置文件等XML格式的配置资源中,BeanUtils可以用来读取并设置JavaBean的属性。 #### BeanUtils的核心包与类 BeanUtils的核心功能分布在以下几个包中: 1. `org....
4. **Apache Commons BeanUtils**和**Apache Commons PropertyUtils**:简化了JavaBean对象的操作,如属性的获取、设置、复制等,PropertyUtils还支持XML或属性文件中的属性读取。 5. **Apache Commons Codec**:...
1:AES 加密解密 2:AuthUtils 授权相关的工具类 3:Base64 base64编码 ...23:PropertyUtils 属性工具类 24:QuerySqlUtil 25:RegexUtils 26:TestClass 28:UploadUtils 文件上传工具 29:UtilTest 30:VideoTool
4. **BeanUtils**和**PropertyUtils**:提供了一种简单的方式来操纵JavaBeans属性,使得属性的获取和设置更加方便。 5. **Codec**:包含了各种编码和解码算法,如Base64、Hex、URL编码等。 6. **Net**:提供了网络...
这种方法可以通过类的.class文件来获取Class对象,适合在编译前就已经明确要操作的Class。例如:`Class clazz2 = User.class;` 3. 使用类对象的getClass方法 这种方法可以通过类的实例对象来获取Class对象,适合有...
标题中的"Cors-filter-1.7.jar"和"java-property-utils-1.9.jar"是两个Java库,分别用于处理跨域资源共享(CORS)和处理Java属性文件。这两个库在开发Web应用时非常常见,特别是在Java服务器端编程中。 首先,让...
本文将重点讨论 Lombok 的使用场景以及如何替代 BeanUtils 和 PropertyUtils 进行属性复制。 #### 二、BeanUtils.copyProperties 与 PropertyUtils.copyProperties 的用法及区别 在 Java 开发中,经常会遇到需要...
开发者可以通过导入这个jar,然后调用BeanUtils类库提供的各种静态方法,如`PropertyUtils.getProperty()`用于获取对象的属性值,`PropertyUtils.setProperty()`用于设置属性值,以及`BeanUtils.copyProperties()`...
8. **对象创建和复制**:`ObjectUtils` 提供了对象的默认值处理,`BeanUtils` 和 `PropertyUtils` 则提供了基于 Java Beans 的属性操作,包括读写属性、深度拷贝等。 9. **字符集和编码**:`CharSetUtils` 和 `...
PropertyUtils.getSimpleProperty(Object bean, String name)用于获取简单属性,而PropertyUtils.setSimpleProperty(Object bean, String name, Object value)用于设置简单属性。 - **Indexed-Collection**: 用于...
7. **BeanUtils**和**PropertyUtils**:这两个组件提供了对象属性和Java Bean之间的复制和操作功能,简化了对象间的属性设置和复制。 8. **FileUpload**:处理HTTP多部分请求,常用于上传文件。 9. **Email**:...
4. **Commons BeanUtils**和**Commons PropertyUtils**:提供了Bean对象属性操作的便捷方法,使得属性的获取和设置更加简单,同时也支持动态属性操作。 5. **Commons Net**:包含了各种网络协议的实现,如FTP、SMTP...