摘要: 要使用JsApi进行微信支付,首先要从微信获得一个prepay_id,然后通过调用微信的jsapi完成支付,JS API的返回结果get_brand_wcpay_request:ok仅在用户成功完成支付时返回。由于前端交互复杂,get_brand_wcpay_request:cancel或者get_... 阅读全文
posted @ 2015-07-28 22:27 纵酒挥刀斩人头 阅读(4272) 评论(0) 推荐(0) 编辑
摘要: ## Spring RestTemplate简单说明现在REST服务已经很普及了,在我们的程序中,经常会需要调用REST API,这时候会有很多选择,原始一点的JDK自带的,再进一步点使用HttpClient,或者说如果我们使用Jersey这种框架的话,也会自带rest client。但是我们项目使... 阅读全文
posted @ 2015-06-20 00:57 纵酒挥刀斩人头 阅读(13414) 评论(1) 推荐(1) 编辑
摘要: 在上一篇中写到了Spring MVC的异常处理,SpringMVC捕获到异常之后会转到相应的错误页面,但是我们REST API ,一般只返回结果和状态码,比如发生异常,只向客户端返回一个500的状态码,和一个错误消息。如果我们不做处理,客户端通过REST API访问,发生异常的话,会得到一个错误页面... 阅读全文
posted @ 2015-06-18 22:26 纵酒挥刀斩人头 阅读(1893) 评论(2) 推荐(0) 编辑
摘要: ## Using HTTP Status Codes在我们自定义的异常上使用ResponseStatus注解。当我们的Controller抛出异常,并且没有被处理的时候,他将返回HTTP STATUS 为指定值的 HTTP RESPONSE,比如:```java @ResponseStatus... 阅读全文
posted @ 2015-06-18 20:19 纵酒挥刀斩人头 阅读(4430) 评论(0) 推荐(2) 编辑
摘要: ```javapublic static CloseableHttpClient acceptsUntrustedCertsHttpClient() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException ... 阅读全文
posted @ 2015-06-05 14:17 纵酒挥刀斩人头 阅读(3065) 评论(0) 推荐(0) 编辑
摘要: ## 创建一个自定义的Annotation```javaimport java.lang.annotation.*;import java.lang.reflect.Method;@Documented@Target(ElementType.METHOD)@Retention(RetentionPo... 阅读全文
posted @ 2015-03-26 22:55 纵酒挥刀斩人头 阅读(3912) 评论(3) 推荐(0) 编辑
摘要: ## synchronized自从Java提供了多线程编程,我们经常需要处理这样的情况:在特定的时间,我们需要限制访问,确保只有一个线程访问我们的代码。Java提供了同步关键字synchronized来实现这种访问控制,但是使用synchronized会存在一些问题。第一个问题是,当我们需要调用线程... 阅读全文
posted @ 2015-01-26 17:44 纵酒挥刀斩人头 阅读(2962) 评论(0) 推荐(1) 编辑
摘要: ..................2015年的第一天...................本文代码托管在 https://github.com/hupengcool/disruptor-starter## Intruduction关于吹牛逼的话就不说了。。。Disruptor是Java实现的用于线... 阅读全文
posted @ 2015-01-01 03:47 纵酒挥刀斩人头 阅读(10408) 评论(0) 推荐(0) 编辑
摘要: 最近在学习了下Google的Guava包,发现这真是一个好东西啊。。由于平时也会写一些基于多线程的东西,所以特意了解了下这个Service框架。这里Guava包里的Service接口用于封装一个服务对象的运行状态、包括start和stop等方法。例如web服务器,RPC服务器、计时器等可以实现这个接... 阅读全文
posted @ 2014-12-22 23:43 纵酒挥刀斩人头 阅读(7396) 评论(2) 推荐(1) 编辑
摘要: ## 基本概念 - Open() – creates a DB - Close() - closes the DB - Query() - 查询 - QueryRow() -查询行 - Exec() -执行操作,update,insert,delete - Row - A row is not a ... 阅读全文
posted @ 2014-12-04 16:48 纵酒挥刀斩人头 阅读(21512) 评论(1) 推荐(1) 编辑