该maven工具包主要可用用来通过反射对对象进行初始化
<dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.4</version> </dependency>
//示例代码 BeanUtils.setProperty(instance,propName,rs.getObject(i));
下划线转驼峰命名
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>29.0-jre</version> </dependency>
//示例代码 //下划线转驼峰命名 CaseFormat.LOWER_UNDERSCORE.converterTo(CaseFormat.LOWER_CAMEL).convert(columnLabel);
操作Json对象
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.62</version> </dependency>
//示例代码 //从字符串解析json对象和数组 jsonObj = JSON.parseObject(string) jsonArray = JSONArray.parseJsonArray(string) //从Json对象中获取数组、对象、String jsonObj.getJsonObject(key) jsonObj.getJsonArray(key) jsonObj.getString(key) // JsonObj新增元素 jsonObj.put(k,v) // JsonArray遍历 for(int i = 0;i < jsonArray.length;i++){ jsonArray.get(i) } // JsonObject通过迭代器删除kv iterator = jsonObj.entrySet().iterator() while(iterator.hasNext()){ if(!listKeys.contains(iterator.next().getKey())) iterator.remove() }
集合类型的生成、转换
Arrays.asList(String ... ss) Collections....
日志的记录,可以打印到控制台、日志文件
<?xml version="1.0" encoding="utf-8"?> <!--这样的东西网上一搜一大把,随便选一个就行了--> <configuration> <!--定义一个变量,用来保存日志的路径目录,保存在本地--> <property name="LOG_HOME" value="/opt/module/realtime_20210703/logs"/> <!--一、定义日志记录方式--> <!--记录日志的方式1,直接打印到控制台,或者标准输出--> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%msg%n</pattern> </encoder> </appender> <!--记录日志的方式2,直接以滚动的方式输出到文件--> <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--记录日志的文件名称--> <file>${LOG_HOME}/shufang.log</file> <!--记录日志的文件的滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_HOME}/shufang.%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> <encoder> <pattern>%msg%n</pattern> </encoder> </appender> <!-- 二、为某个类指定日志记录的方式,可以选择多个,为不同级别的日志选择对应的日志记录方式 --> <logger name="com.shufang.loggermock.controller.LoggerController" level="INFO" additivity="false"> <appender-ref ref="rollingFile"/> <appender-ref ref="console"/> </logger> <root level="error" additivity="false"> <appender-ref ref="console"/> </root> </configuration>
// 输出日志,按照配置文件logback.xml log.info(jsonLog);
用来读取properties配置文件中的KV属性
configuration = new PropertiesConfiguration() configuration.setEncoding("UTF-8"); configuration.setFileName("D:/Users/01408214/IdeaProjects/tt-flight-dayplan/src/main/resources/a.properties"); configuration.load(); configuration.getString(key)