- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 定时任务+内部类+线程池
需求:把每天的数据定时推送到第三方,数据量有点大,如果一个个推送数据,需要耗时非常久,所以采取线程池+内部类操作。1.首先先了解一下定时任务cron的写法。可以参考Cron在线编辑器https://cron.qqe2.com/Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域。Cron从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份 字段 允许值 允许的特殊字符 秒(Seconds) 0~59的整数 , - *.
2021-01-05 23:39:55
318
原创 项目中使用策略模式+工厂模式实现导入导出
因为,最近在做excle的导入导出,发现有一个模块地下有14个需要导入导出的类,思来想去用策略+简单工厂模式去除if else if ....,是该模块能更好的维护。带着这样的想法,便在度娘搜了下策略+工厂模式的实现,最后参考了这位老哥的https://www.cnblogs.com/huangqingshi/p/10344265.html文章,先附上代码:1.定义一个导入导出的接口:public interface ExcelOperationStrategy { void imp
2020-11-25 23:40:53
975
原创 前端正则表达式校验邮箱,电话,身份证等
//邮箱var mail = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;//手机var phone = /^1[23456789]\d{9}$/;//固定电话var gphone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;//定位后背景色var bgclr = "#e0f2be";//输入内容为小数位不超过2位的数值 ...
2020-11-20 09:56:56
1192
原创 前端layui通用工具
/** js数字相加* */function add(a, b) { return (Number(a) + Number(b)).toFixed(2);}/** * 编码(encodeURI),防止中文乱码 * @param val * @returns {string} */function encode(val) { return encodeURI(val);}/** * 解码 * @param val * @returns {string}.
2020-11-20 09:52:50
770
原创 前端校验form表单是否发生改变
前端效验form表单是否发生改变,如果没改变直接前端提示/** * 使用 json工具实现对象的深拷贝 * @param obj 提供覆盖属性的对象 */var deepClone1 = function(obj){ var _obj = JSON.stringify(obj); return JSON.parse(_obj);}/** * 使用递归实现对象深拷贝 * @param obj * @returns {Array} */var deepClone2 .
2020-11-12 11:40:26
2373
原创 oracle实现批量插入
最近项目上需要批量插入数据到oracle当中,这里总结三个方法:一.带自增id的形式,注意这边是没有values <!--批量新增--> <insert id="insertBatch" parameterType="java.util.List"> insert into TEST (ID,NAME,AGE,ADDRESS) select SEQ_TEST_ID.nextval id,a.* from (.
2020-11-09 22:17:33
2861
原创 Collections.addAll() 与 ArrayList.addAll()性能比较
1.Collections.addAll() 与 ArrayList.addAll()都是将所有指定的元素添加到指定的集合中;但是两个的效率谁更高呢?通过查看Collections.addAll() 源码有这样的一段话:The behavior of this convenience method is identical to that of<tt>c.addAll(Arrays.asList(elements))</tt>, but this method is li
2020-10-29 10:02:01
1215
原创 调用第三方接口,http的post请求入参格式为json
1.需求:要调用第三方接口的放回数据,入参为json格式,其中最重要的每个接口都需要t第三方传过来token,但是token 的过期时间是十分钟。为了防止一直请求,把token存到缓存(1)存到session (2)存到redis 。根据项目需要,这里采用的是存session。如果有调用的,去判断session有没有值,并且是否已经过了9分钟,如果是重新获取。public static String getToken(HttpServletRequest request, HttpServletR
2020-10-21 12:44:42
3459
原创 多线程结合线程池方式对文件批量下载到本地和压缩文件到浏览器
1.批量下载到本地:首先先了解Executorsc创建的4中线程池的使用:1)newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。2)newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 3)newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。4)newSingleThreadExecutor 创建一个单线程化的线.
2020-10-21 10:28:16
798
1
原创 AOP+自定义注解+反射实现操作日志修改前数据和修改后数据
AOP+自定义注解+反射实现操作日志修改前数据和修改后数据1.自定义注解2. 进行aop切面@Aspect@Componentpublic class LogAspect { private Logger logger = LoggerFactory.getLogger(LogAspect.class); @Autowired private LogService logService; @Pointcut(value = "@annotation.
2020-10-10 14:13:36
4129
8
原创 layui下拉多选
1.首先要选引入formSelects-v4.css,formSelects-v4.js文件获取资源:https://github.com/hnzzmsf/layui-formSelects2.在select添加xm-select3.通过编码表获取它他的值,然后遍历封装成json形式效果如下:...
2019-10-15 15:53:49
565
原创 sso,获取request中取得前端传递过来的数据
formdata请求方式 /** * 用户登入 */ @RequestMapping(value = "/tbUserlogin", method = RequestMethod.POST) public String tbUserlogin(HttpServletRequest request) { HttpResult resu...
2019-10-15 15:38:29
507
Swing窗体的经典步骤
2018-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人