Java
咸煌
这个作者很懒,什么都没留下…
展开
-
【JFinal】解决activerecord字段顺序问题
解决activerecord字段返回顺序问题原创 2022-06-28 14:22:39 · 280 阅读 · 0 评论 -
【Java】一行配置解决接口出入参驼峰下划线的转换
前后端分离的项目,通常前端通过下划线的参数请求接口,然后接口返回下划线的参数给到前端。由于java通常使用驼峰命名方式,要支持接受和返回下划线命名方式的参数就需要对数据进行转换。springboot项目中用一行配置即可实现该功能,在application.properties文件中加入这行代码:# 驼峰和下划线转换spring.jackson.property-naming-strategy=SNAKE_CASE但是使用过程中我发现一个很有意思问题,当我命名为aBb这种样式时,我接收不到a_bb原创 2021-09-09 17:15:58 · 2262 阅读 · 5 评论 -
【Java】根据生日计算年龄
方式一:时间戳速算只适用于计算1970-01-01 08:00:00及之后出生的// 1971-01-01 08:00:00的时间戳private static final long TIME = 31536_000_000L;public Integer getAge(Long birth) { if (birth == null) { return null; } Long now = System.currentTimeMillis(); if (birth > now)原创 2021-05-13 11:21:01 · 10055 阅读 · 6 评论 -
【Java】全局代理
大部分公司开发环境是局域网,需要通过代理的方式访问外部网络,有时候局域网没有资源,需要在代码中请求外部资源进行测试验证,就可以在测试那段代码中临时加入全局代理,用以验证,自测后删除。public void test() { // 全局代理 System.setProperty("proxyHost", "proxy.xx.com"); // 定义代理地址 System.setProperty("proxyPort", "8080"); // 定义代理端口号 ...}..原创 2021-05-12 10:08:43 · 1082 阅读 · 0 评论 -
【Java】@Scheduled定时任务
创建定时任务很简单,只需要在方法上面,使用@Scheduled注解即可。1 cron表达式指定定时器执行时间// 固定每天1点执行,无论上一次执行完没有,到时间会再执行。@Scheduled(cron = "0 0 1/1 * ?")public void task() {...}可根据不同的需求定义不同的cron表达式达到执行效果。2 fixedRate 和 fixedRateString 指定间隔时间这两个参数是一个效果,只是fixedRate的值是long型,fixedRateStr原创 2021-05-12 09:49:21 · 2829 阅读 · 0 评论 -
【Java】http/https/ftp路径的图片转base64
主要工具类ImageUtil.java:提供图片url转base64功能@Slf4jpublic class ImageUtil { // 图片url转base64 public static String transToBase64(String url, String charsetName) { byte[] data = getImageFromUrl(url, charsetName); return org.apache.commons.codec.binary.Base64.原创 2021-05-11 18:08:29 · 1322 阅读 · 0 评论 -
【Java】单元测试类
引入mavne依赖<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId>原创 2021-05-10 18:03:56 · 938 阅读 · 0 评论 -
【Java】自定义校验型注解
本示例是自定义的字典类型的注解,用以校验接口入参中的数据是否符合字典里面定义的值。字典数据里面设置了字典编码和字典名称。【1】注解@interface IsDictionary@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)@Document@Constraint( validateBy = IsDictionaryValidator.class)public @interface IsDictionary() {原创 2021-05-07 18:08:52 · 564 阅读 · 0 评论 -
【Java】Arthas工具安装
最近遇到一个问题,偶现了两三次了,想要定位却无从下手!为什么呢?主要是因为我们使用的openjdk基础镜像真的是太精简了,自带的jstack这些工具都没有!本人也是这方面经验的小白,之前没有定位过这类多线程产生的问题。唯一的方向就是使用jstack工具,最初以为这个工具可以通过yum方式安装,百度后发现jstack是jdk自带的工具,这下子想基于现有openjdk镜像搞个带jstack的新镜像就没有那么简单了。(虽然可以下载个最新的openjdk镜像使用,肯定带jstack,但是由于有四百多兆,肯定不会原创 2021-03-02 10:55:30 · 1613 阅读 · 0 评论 -
【Java】Callable + Future实现多线程查询
1 先定义线程方法,实现Callable接口@Slf4jpublic class QueryThread implements Callable<List<QueryResult>> { private QueryParam param; private QueryService queryService; public QueryThre...原创 2020-04-26 18:04:46 · 655 阅读 · 0 评论 -
【Java】List对象排序
List<Integration> integrations = new TreeList<>();integrations.add(new Integration(one.getName(), 1));integrations.add(new Integration(one.getName(), 5));integrations.add(new Integratio...原创 2019-10-25 13:55:43 · 176 阅读 · 0 评论 -
【Java】替换掉RestTemplate的Feign请求
使用FeignClient比使用RestTemplate更加简洁。依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <ver...原创 2019-07-15 15:38:10 · 4214 阅读 · 0 评论 -
【Java】SpringBoot使用@Scheduled定义定时任务
1、开启扫描PS:springboot项目无需额外引入依赖在启动类Application类上面加上注解 @EnableScheduling2、定时方法上面添加注解关于@Scheduled注解的使用,详情搜索资料。这里使用fixedRate = 1000表示每隔1秒钟(1000毫秒)执行一次,且程序启动时会先执行一次,如果间隔时间比较长,比如10分钟,值就是10601000。当使用@Sc...原创 2019-07-15 14:13:33 · 751 阅读 · 0 评论 -
【Java后端】java通过正则表达式去掉字符串中数字
String tmp = &amp;quot;xxxx123&amp;quot;String description = Pattern.compile(&amp;quot;[\\d]&amp;quot;).matcher(tmp).replaceAll(&amp;quot;&amp;quot;);// description = xxxx原创 2018-10-31 16:44:57 · 9927 阅读 · 3 评论 -
【Java后端】分层设计注意事项
分层:Controller - Service - Mapper - Manager1、Service层之间不能互相调用,需要的操作可以上升到Controller层。2、微服务之间的接口调用写在manager层原创 2018-11-06 10:22:40 · 913 阅读 · 0 评论 -
【Java后端】解析csv文件并转成bean对象
1、解析csv文件工具类(通用)public class CsvUtil { /** * 日志对象 */ private static final Logger LOGGER = LoggerFactory.getLogger(CsvUtil.class); /** * 解析csv文件并转成bean * @param file c...原创 2018-11-22 08:53:14 · 26713 阅读 · 36 评论 -
【Java后端】Map使用迭代器遍历
map的entry可以通过迭代器进行遍历以及进行安全的remove操作。private void removeExist(Map&lt;Integer, String&gt; types, DictTypeResDTO dto) { Iterator&lt;Map.Entry&lt;Integer, String&gt;&gt; it = types.entrySet().iterato...原创 2018-11-22 09:37:11 · 16190 阅读 · 1 评论 -
【Java后端】集合转数组
1、Set集合转数组// set集合Set&lt;Integer&gt; idSet = new TreeSet&lt;&gt;();idSet.add(data.getTypeId()); ……// 定义一个set长度的数组Integer[] ids = new Integer[idSet.size()];// set转数组,执行完毕后返回数组,且ids数组存储了set中的值id...原创 2018-11-22 09:54:17 · 1331 阅读 · 1 评论 -
【Java后端】读取文件夹中的图片转成base64编码并写入properties文件
main方法import java.util.ArrayList;import java.util.Base64;import java.util.List;public class PicBase64Generator { // 项目在硬盘上的基础路径 private static final String PROJECT_PATH = System.getPrope...原创 2018-12-21 10:04:53 · 6371 阅读 · 0 评论 -
【Java后端】properties读取和修改
package xx.common.utils;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.Properties;/** * properties工具类 * * @author xianhuang * @date...原创 2019-03-14 10:20:26 · 919 阅读 · 0 评论 -
【Java后端】pdf 文件生成和导出
1 pdf 文件生成生成pdf有两种方法,如下:1) 使用 wkhtmltox 工具将 html 转 pdf优点:一次安装,永久使用。便捷,生成效果好缺点:并不是所有 html 都能成功转成 pdf,至于为什么需要深度研究研究。安装去官网下载:https://wkhtmltopdf.org/downloads.html分 windows 环境 linux 环境,各自取用适合的包。...原创 2019-03-14 16:21:02 · 7777 阅读 · 3 评论 -
【Java后端】使用 PageHelper 进行分页
maven 依赖: &lt;!-- page helper --&gt; &lt;dependency&gt; &lt;groupId&gt;com.github.pagehelper&lt;/groupId&gt; &lt;artifactId&gt;pagehelper-spri原创 2019-03-14 17:11:47 · 4031 阅读 · 0 评论 -
【Java后端】当数据库中存储的时间为timestamp时的应用
1 数据库存储类型postgreSQL数据库表中时间字段:名称类型time_low_limittimestamptime_up_limittimestamp因为时间在数据库表中存储的是timestamp类型,因此在java的model类中,与数据库对应的字段类型采用的Date类型。2 model 类@Table(name = "class_info")...原创 2019-03-15 14:06:55 · 4163 阅读 · 0 评论 -
【Java后端】当前日期转换成中文汉字表示
例如,输出:二零一九年三月十九日import org.springframework.stereotype.Component;import java.util.Calendar;/** * 中文日期 * * @author xianhuang * @date 2019/03/18 14:16 * @since 1.0 */@Componentpublic class C...原创 2019-03-19 09:27:37 · 6838 阅读 · 5 评论 -
【Java后端】restTemplate异常处理
- 记录一下今天遇到的问题,和尝试解决过程中的经历 -在与其他微服务接口进行联调的过程中,因为我这边依赖的接口在正常和异常两种情况下,返回的字段不一样,导致我这边通过restTemplate发送请求时,封装的返回对象不能够灵活适配接口返回对象的字段,导致在服务异常返回时,我这边处理不了。于是查询解决这个问题的方法,发现可以自己定义一个ResponseErrorHandler的实现类,对异常情况...原创 2018-10-12 09:12:51 · 12464 阅读 · 0 评论