- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 一种实用的通用比较器
当某些实体类不方便重写compareTo时,需要用到第三方比较器,为避免代码冗杂,有必要将其抽出,做成通用的。示例main中的实体类就不提供了,自己随便编一个就可以测试了。如下:/** * @author 李培 * @version 1.0 * @className CurrencyComparator * @date 2021/6/4 * @description 通用比较器,降低代码侵入性,待排序对象不须重写compareTo, * 调用示例见main, 支持list和数组排序 */
2021-06-05 16:10:35
167
原创 list集合获取指定元素,基于二分查找法
功能抄自JDK的Collections类,但源码不支持倒叙查找,做了一点点改动,使其支持。见代码,注释很详细,就不啰嗦了。private static final int BINARYSEARCH_THRESHOLD = 5000;/** * * 功能描述:从指定list中,二分查找指定元素指定字段值,如在list<PrintBox> 中,查找字段FModel值为x的对象 * ,list内的泛型元素须实现了Comparable接口并重写了compareTo方法
2021-06-05 16:04:46
1184
原创 springboot在嵌套调用中的回滚
service层调用其他方法时,在任一方法内抛出异常,即全部回滚,@Transactional只需加在入口方法上。如下: @Override @Transactional(rollbackFor = Exception.class) public void testTransactional() { Map<String,Object> map = new HashMap<>(16); map.put("name","xxx");
2021-01-20 20:58:00
795
原创 基于java的一种简易的随机密码生成器
第一步,取一个当前时间毫秒数,MD5成64位。第二步,取这个64位的MD5的前6位和后6位。第三步,将这12位中一部分数字转为特殊字符,一部分字母的大小写反转,如果数字过少,将部分字母转为特殊字符。第四步,整体洗个牌。代码如下:public class PassWord { public static void main(String[] args) { Long saltLong = System.currentTimeMillis(); String s
2021-01-07 09:57:16
701
原创 springboot项目下基于自定义注解的AOP缓存
大体来说,操作缓存有两种方式。一种是在需要操作缓存的方法内调用相应的缓存工具类的操作方法进行操作,如一个查询用户列表的方法中,查询出来一个用户列表,要将这个列表放入缓存,则调用缓存的set方法。**这是一种弱智的,侮辱人的方法!!! **另一种是通过AOP的方式进行操作,这里面大体又有两种,一种是通过规范方法名,即将需要操作缓存的方法统一加上一个前缀或者后缀。这种方法也略显扯淡,因为bug写多了之后,会忘了命名这回事。还有一种是通过自定义注解,操作缓存,即,在需要操作缓存的方法上加上一个自定义的注
2021-01-06 20:42:16
446
原创 springboot项目中的mvc配置
springboot项目中的mvc配置大概有两种写法,一种是基于实现接口WebMvcConfigurer,一种是基于继承WebMvcConfigurationSupport,这两种写法会冲突,最终spring容器会执行继承WebMvcConfigurationSupport类中的重写方法,而忽略实现接口WebMvcConfigurer所重写的方法。因此,一个应用中,应只选择一种方法进行配置。如下:@Configurationpublic class WebMvcConfig implements
2021-01-06 19:52:59
1433
原创 springboot项目下基于slf4j的一种简单的全局异常捕获写法
首先,可以整一个返回类,该类可以用于所有接口的返回,不管是否请求成功。如下:public class Result<T> implements Serializable{ private Integer code;//状态码 private boolean flag; //执行结果,true为执行成功 false为执行失败 private String message; //返回结果信息,主要用于页面提示信息 public T data; //返回数
2021-01-06 19:30:35
365
原创 springboot项目下,在工具类中调用service或dao接口
需要注意两点第一,@Component,缺此注解时,项目启动时该工具类不会被注入spring容器,自然也就谈不上下一步。第二,@PostConstruct,用于在项目启动时,bean创建后执行,可以理解为初始化。在初始化方法中,可以注入service或dao依赖。如下:@Componentpublic class InspectionItemsUtil { @Autowired private InspectionItemsMapper inspectionItemsMapper;
2021-01-06 19:06:38
2061
原创 基于POI的EXCEL上传数据处理
基于POI的EXCEL上传数据处理一个简单的excel表格,指没有复杂表头与合并行列的表格。将其读取成一个二维list,便于在service中做进一步处理,因为是工具类,因此,处理程序一般化。见代码package acw.com.utils;import java.beans.IntrospectionException;import java.io.InputStream;import java.lang.reflect.InvocationTargetException;import ja
2021-01-06 18:31:46
230
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人