孙琛斌的专栏

不积跬步无以至千里,不积小流无以成江河

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

AOP的应用之分布式锁

大家在做分布式多节点等系统的开发中为了保证某些业务操作场景的原子性操作,一定会用到锁的概念,传统的synchronized无法满足分布式多节点的系统,所以大家都会用Redis实现分布式锁,怎么实现我这里就先不多说了大家百度一下可以查到一大堆。 但还是要简单的说一下主要就是使用redis的setn...

2018-01-31 12:49:23

阅读数:287

评论数:0

开源插件ACTable已经打包放到Maven中央仓库啦!

开源插件ACTable(基于Mybatis自动建表、并支持共通CUDR)上线啦!由于很多小伙伴在使用actable的时候都不得不下载源码,然后在本地install打包然后使用,所以最近我抽空,将其打包放在了maven中央仓库上,因此包的结构有所调整,引入方式如下:pom.xml中引入<dep...

2017-11-13 18:02:02

阅读数:831

评论数:0

SpringMvc的手写版(PS:只是闲来无事写的简化版,仅供大家理解SpringMvc的运作原理)

最近手头正好有些时间,想着写点什么好呢?后来看到了一篇帖子说面试的时候有面试官问他能不能手写一套SpringMvc出来,不拉不拉的….不多说了。所以想着就写写试试,捋了捋思路,无非就是三点(大神勿喷!): 1. 实例化 2. 注入 3. url映射连起来说就是对加了@Controller、@...

2017-08-31 20:10:39

阅读数:1594

评论数:1

A.CTable开源框架Mybatis增强自动创建表/更新表结构/实现类似hibernate共通的增删改查

mybatis-enhance-actable-0.0.1继之前的两篇文章阐述,我的第一个开源项目Mybatis_BuildTable_V0.2之后: http://blog.csdn.net/sun5769675/article/details/51757867 http://blog.cs...

2017-07-07 20:19:29

阅读数:5579

评论数:10

Java中的自定义注解

说起注解来,大家第一想到的肯定是@Controller、@Service、@Autowired、@Resources、@ResponseBody、@Transactional等,当然还有很多,例举的这些都是大家非常熟悉的。 使用过的人都知道,通过注解减少了我们很多冗余的代码量,用起来也很舒服,本...

2016-07-03 18:12:46

阅读数:2259

评论数:0

Mybatis自动创建表/更新表结构/动态建表

该项目已经重新抽取形成独立的插件,方便不同项目使用详情轻看这篇博客中介绍的内容: 这里写链接内容最近有小伙伴问我mybatis有没有自动创建表结构的功能,因为他们之前一直使用hibernate用习惯了,理所当然的认为,在实体类上配置下注解或者写写映射文件,系统启动后就可以自动创建表。我只能很遗憾...

2016-06-27 09:56:53

阅读数:25004

评论数:13

自定义EL表达式,将对象转成json格式,关键代码

做javaweb开发的最常用的一个东西el表达式,这个东西是个很好用的东西,但有些时候我们处理复杂的字符串操作,就有些相形见绌了,这个时候就需要用自定义的方法去实现更多简洁方便的事情。下面自定义一个将对象转成json字符串的自定义el表达式用来讲解这个自定义的过程:ElFunctions.java...

2015-12-18 16:58:22

阅读数:7601

评论数:0

大型商城活动防刷限流方案

最近负责的一个某品牌手机的官方商城,他们要发售一款新手机,以往都是各个渠道一起发售,但是本次决定官网首发10000台,这样一来其他渠道的消费者都会被引流到官网来(天猫/京东/苏宁/线下),其庞大的流量并发可想而知,原有的功能实现肯定无法承载这种体量,因此我们全面优化了预售功能,分别按照以下几个点来...

2018-02-08 22:10:17

阅读数:421

评论数:0

如何将jar包上传到Maven中央仓库

最近actable的部分功能已经完善了,一些小伙伴已经在使用了,但是由于没有放到远程仓库,导致使用的小伙伴都需要自己将代码取下来,然后install,这样不太好,所以最近就规划了下包结构,上传到了maven中央仓库中,以下是上传步骤。1.创建工单1.1 https://issues.sonatyp...

2017-11-13 14:23:18

阅读数:2309

评论数:0

SpringMvc通过自定义注解在方法的参数中注入数据

说一个场景,有时候我们做后台业务的时候,经常需要取session中存储的用户信息,所以免不了一直需要写下面这一段又长又无聊的代码:MemberCommand memberCommand = (MemberCommand) request.getSession().getAttribute(Sess...

2017-09-01 14:21:14

阅读数:3564

评论数:0

自定义注解@NeedLogin登录校验

今天介绍的是一个关于登录校验的自定义注解,之前有过一篇写如果自定义注解的博文:Java中的自定义注解那么这次讲一个经常会出现的场景下,会使用到的注解,一般我们无论是开发后端系统还是前端系统,都会有用户的概念,那么很多业务场景下我们都需要去校验当前访问者是否已经登录了,举个例子,如果是一个商城系统访...

2017-08-22 11:23:04

阅读数:419

评论数:0

Ajax异步提交List对象,SpringMvc如何接收?

Springmvc的一个问题一直被广大开发者所诟病,就是在list对象的转换上一直并不是特别好用,网上很多解决方法关于不同的表单提交方式这里就不多说了,只介绍下ajax方式提交list对象的方法。比如你要通过ajax传递下面一段数据到controller:var json = [{'id':1,'...

2017-08-16 13:46:38

阅读数:1938

评论数:0

微信卡券功能JAVA版(PS : 其实无关乎什么语言拉 :) )

关于微信卡券的流程大家可以参考下微信官方文档http://mp.weixin.qq.com/wiki/9/4f455120b50741db79b54fde8896b489.html 其中的“微信卡券接口”——>“微信卡券接口说明”了解下什么是卡券,怎么玩的这里不再多做赘述,可以使用测试帐号按照“...

2017-03-17 14:07:43

阅读数:5193

评论数:3

分享下沪江外语学习视频教程

觉得作为一个程序员,平时除了学习下最新技术之外,还有至关重要的一点就是学习下外语,因此我这边收集了些沪江的各类语言的视频教程,格式是swf的不是单纯的讲是带交互的那种,其实就是官网上售卖的那些教程。资料是我之前买的,花了多少钱就不说了,主要涵盖语种英语、西班牙语、日语、泰语、韩语、法语、德语这几种...

2017-03-07 18:57:22

阅读数:1027

评论数:1

request.getHeader("user-agent")为null

今天一大早来,发现日志文件大小暴增,艰难的打开一部分查看之后发现,一直在报空指针的错误,所以检查了下代码,发现String ua = ((HttpServletRequest) request).getHeader(“user-agent”).toLowerCase();这段话一直报错,马上就反应...

2017-03-01 13:25:48

阅读数:2207

评论数:0

访问使用https协议的网址时,浏览器地址栏没有显示“安全锁”的标志的问题

这种问题造成的原因,首先要检查的是,使用的SSL证书是否过期,查看方式很简单,F12浏览器开发者模式,切换到Security选项,然后会看到一个View certificate的按钮,点一下就会弹出这个 网址使用的SSL证书的详细信息了,其中包括了证书的有效期开始时间和结束时间,如果是由于过期了...

2017-02-23 17:52:00

阅读数:3748

评论数:0

org.apache.commons.net.util.Base64的encodeBase64String方法的坑

今天在做汽车之家接口数据调用时,发现一个问题,由于对方服务器有身份验证,需要根据一定的格式将相关信息加密然后转成Base64然后放到http请求的header中。我在实际操作中遇到奇怪问题,明明加密后的字符串是错的,可对方的iis服务却能收到这个错误的请求,尽管不会通过身份验证,这时返回错误代码是...

2017-01-17 15:56:50

阅读数:9692

评论数:0

JAVA8新特性(访问接口的默认方法)

访问接口的默认方法还记得第一节中的formula例子么,接口Formula定义了一个默认方法sqrt可以直接被formula的实例包括匿名对象访问到,但是在lambda表达式中这个是不行的。 Lambda表达式中是无法访问到默认方法的,以下代码将无法编译: 复制代码 代码如下:Formula ...

2016-09-26 17:46:46

阅读数:1380

评论数:0

JAVA8新特性(Lambda 表达式)

Lambda 表达式首先看看在老版本的Java中是如何排列字符串的: 复制代码 代码如下:List names = Arrays.asList(“peter”, “anna”, “mike”, “xenia”); Collections.sort(names, new Comparator()...

2016-09-26 17:35:19

阅读数:1041

评论数:0

JAVA8新特性(接口的默认方法)

一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下: 复制代码 代码如下:interface Formula { double calculate(int a); default doubl...

2016-09-26 17:25:11

阅读数:779

评论数:0

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