排序:
默认
按更新时间
按访问量

一个http请求工具类的接口化(多种实现)

针对上一篇文章的接口设计,提供了三种实现URLConnection、ApacheHttpClient、OkHttp3。 现给出三种实现的继承树。 HTTPURLConnection ApacheHttp OkHttp3 首先每种实现都需要实现模板方法HttpTemplate。...

2018-06-16 23:06:33

阅读数:484

评论数:1

一个http请求工具类的接口化(接口设计)

https://gitee.com/xxssyyyyssxx/network   我们项目中可能会使用很多的http请求的库,比如URLConnection、ApacheClient、OkHttp库等。每个库的操作方式都不一样,这是一个巨大的困扰。如果需要换一个库,那需要改变的东西就很多。利用抽...

2018-06-16 22:55:36

阅读数:237

评论数:0

一个通用的Json解析框架接口设计(二)- 实现

https://gitee.com/xxssyyyyssxx/Json-fastjson https://gitee.com/xxssyyyyssxx/Json-orgJson https://gitee.com/xxssyyyyssxx/Json-Gson https://gitee.co...

2018-06-14 18:55:06

阅读数:216

评论数:1

一个通用的Json解析框架接口设计(一)-接口设计

我们项目中可能会用到许多的json框架,Fastjson、jackson、Gson、orgjson、json-lib,其实现方式各不相同,接口Api就不一样,我们想换一个json框架改动的地方就会很多。参考SLF4J的思想,我统一了json框架的调用方式。 https://gitee.com/x...

2018-06-14 18:31:16

阅读数:544

评论数:0

一个处理SQL语句多条件添加的工具类

我们写SQL语句的时候,有时候查询条件非常多,并且可能有可能没有,如果手动拼写,可能由于疏忽少写空格,关键字等,并且添加条件的时候可能需要写大量的判断语句,非常不好。我写了一个工具类,很适合处理这种情况。源码如下。package com.palmte.tcm.utils; import java...

2018-04-28 16:19:34

阅读数:433

评论数:1

集群机器循环调用实现,基于SpringBoot

以下的内容纯属理论探讨,除非万不得已最好不要这么干,因为会造成集群的有状态化和维护困难。 假设一个集群中有三台tomcat,在发生某件事情(比如接口调用)的时候我需要首先在本机做某件事情,如果做不了,就调用下一台机器,如此往复,直到最后一台。 我们可以将tomcat定义成为一个环,每台保存自己...

2018-11-05 10:30:22

阅读数:36

评论数:0

基于token的登录管理(多设备登录、单设备登录)

不管是客户端接口还是网页H5接口,一般我们都需要登录验证,即要求所有的接口访问都必须在登录之后,以确认身份,防止非法调用。一般的流程都是登录的时候返回一个代表此登录的token,以后所有接口都带上此token,在所有接口调用之前拦截验证,一般都是通过AOP或者一个Filter、拦截器来实现。而退出...

2018-11-05 10:10:19

阅读数:136

评论数:0

SpringBoot使用WebSocket实现服务端推送--集群实现(2)

书接上文,本文介绍了一种实现集群管理和消息传送方式。 在集群模式情况下,一般是Nginx反向代理到多台Tomcat或者SLB代理到多台Tomcat的方式,怎么实现给某个人推送消息?比如WebSocket1连接到Tomcat1,但是在Tomcat2需要给WebSocket1发送消息,怎么办?一般的...

2018-10-14 15:33:18

阅读数:62

评论数:0

SpringBoot使用WebSocket实现服务端推送---单机实现(1)

最近开发中需要实现服务端的推送,经过一段时间的资料查询最终锁定使用websocket来实现。JavaEE本身就支持WebSocket。我们只需要开发一个EndPoint来处理连接、消息等即可。但是WebSocket的session管理是开发中的重中之重和难点,因为你需要知道推送给谁,就需要保存代表...

2018-10-14 15:07:47

阅读数:60

评论数:0

密码错误次数管理和图形验证码管理接口和实现

在开发中,登录接口一般会校验密码,当密码错误次数达到一定次数(阀值)就激活图形验证码校验,此举的目的主要是为了防止暴力破解密码。基于此,我抽取了密码次数管理接口和验证码校验。 错误次数管理器: /** * @author xiongshiyan * 密码错误管理器 * 可以使用Rei...

2018-10-08 15:29:02

阅读数:62

评论数:0

Springboot环境下微信开发的入口框架

感谢@JFinal提供的JFinal-weixin项目,使用到了里面的微信入口消息和出口消息及工具类。 https://gitee.com/jfinal/jfinal-weixin jfianl-weixin项目非常适合于在Jfinal环境下开发微信消息处理,只需要继承MsgControlle...

2018-09-06 11:37:46

阅读数:293

评论数:0

gradle项目发布到jcenter、maven中央库

! !!首先注意一点,私有项目或者公司的业务项目千万要慎重,就不要上传到这些开放源代码的库中了,可以上传到公司自己搭建的nexus服务器。 我们需要在 bintray.com 上注册账号,注意要选“For an Open Source Account Sign Up Here”,否则无法上传。...

2018-08-12 09:35:04

阅读数:166

评论数:0

MySQL存四字节数据(emoji)

现在MySQL的字符编码使用最多的是utf8,但是此utf8最多只能存3字节字符,如果遇到像emoji这种四字节字符就无能为力了,保存的时候就会抛出异常:Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\...

2018-08-02 11:05:29

阅读数:98

评论数:0

SpringBoot多数据源配置和使用

SpringBoot中使用JPA如果是单数据源,很好处理,只需要在配置文件中配置连接参数和性能参数即可。如下: username、password、url、driver-class-name等配置省略。。。 spring.datasource.type=com.alibaba.druid.po...

2018-08-01 09:36:10

阅读数:139

评论数:0

一个JPA环境下原生SQL查询的工具类

感谢JFinal的Db.paginate方法,此实现参考之。 我们在JPA环境下,某些查询的SQL可能是动态生成的,查询或者分页我们就需要手动使用EntityManager来查询,参数处理和结果集就需要手动,此工具类就是干这些脏活累活的。废话不多说,直接上代码。 import cn.palm...

2018-08-01 09:05:15

阅读数:252

评论数:0

利用Slf4j的MDC跟踪方法调用链及一个通用的ThreadLocal工具类

一个工程中可能提供很多的资源(或者说提供给外部很多的URL访问),而工程一般是分层处理,Controller-->Service-->DAO(HTTP请求其他的资源)的处理顺序。有时候,我们需要根据日志打印去看一下某用户的这次请求到底是发生了什么错误。我...

2018-07-20 17:40:43

阅读数:223

评论数:0

JPA/Hibernate环境的复杂查询

我们在SpringData/JPA/Hibernate环境中,对于一些简单的增删改查可以使用Repository搞定,更复杂的查询可以使用JpaSpecificationExecutor等查询工具搞定,但是更复杂的,比如多表关联查询就有点儿力不从心了。今日主角闪亮登场。package com.pa...

2018-06-14 18:08:15

阅读数:178

评论数:1

mysql-connector-java-6.x驱动类和时区问题

项目中出于效率的需要,我们将mysql驱动从改为了5.1.38改为了6.0.6,结果保存的日期数据不对,网上查询资料才知道连接参数中需要一个设置serverTimezone=Asia/Shanghai。并且其驱动类也改变成com.mysql.cj.jdbc.Driver,而Druid数据源的不同版...

2018-04-24 13:33:17

阅读数:440

评论数:0

普通Java项目使用gradle构建时引入Aspectj

一个普通的Java项目,如果想对某些类织入额外的代码,一个比较好的选择是Aspectj,它对项目的侵入最小,只需要写一个Aspectj的切面文件,然后使用构建工具引入Aspectj的插件(gradle、maven),它就能在编译时织入你想要的代码。我们项目中有一个使用quartz定时任务的工程,有...

2018-03-07 10:28:45

阅读数:395

评论数:0

Java应用层做过滤

数据库对某些条件的过滤支持不是很好,比如LIKE,造成查询效率不高,实践中我们设计了一个工具类,用于Java应用层过滤。 我们基于JFinal的Db+Record实现。 首先设计一个记录过滤器RecordFilter,用于判断某个Record是否满足要求。 import com....

2018-01-16 17:23:01

阅读数:306

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭