最佳实践
zhwbqd
这个作者很懒,什么都没留下…
展开
-
Spring 通过注解注入Properties文件
原来一直使用spring xml来管理properties 的 placeholder, 这种方式造成无法使用Spring注解方式注入, 造成了xml的代码冗余, 现在Spring提供了一种更加优雅的方式来配合annotation的注入方式, 详见代码原本是要这么写的 xml<context:property-placeholder location="原创 2013-12-06 17:40:35 · 1810 阅读 · 0 评论 -
如何利用反射获得注解的名称和内部的值
使用httpclient向后端API POST数据的时候, 需要构建POST的param, 如果使用代码写的话太不优雅了, 所以考虑一种比较通用的方式实现, 详见代码, 我们使用的注解是 fastjson的, 大家可以使用其他的替换, 意思都是相通的package zhwb.service.util;import com.alibaba.fastjson.annotation.JS原创 2013-12-06 17:49:23 · 804 阅读 · 0 评论 -
httpclient4 的封装
支持可配置的连接池, 单例的httpclinet, 更好的response handlepackage zhwb.util;import org.apache.http.HttpHost;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpUriRequest;i原创 2013-12-01 18:15:06 · 1264 阅读 · 0 评论 -
TestNG和PowerMock EasyMock的结合
PowerMock比较强大, 是一个基于EasyMock之上的mock工具, 它可以帮你mock内部new的对象, final方法, 私有方法等等, 具体请看他的官网, 例子很详细https://code.google.com/p/powermock/我这边想mock httpclient 对象, 因为这个对象是在方法中被new出来的 jmock easymock无能为力原创 2013-12-01 17:58:41 · 2107 阅读 · 0 评论 -
数据库优雅地实现软删除
一提到软删除, 大家一定会说到, isDeleted这个字段, 或者叫status,关于这个可以看一下其他博友的文章但是这种设计真的好吗, 其实针对不同的场景, 我们可以采用不同的设计方案来减少设计的复杂度。考虑下面的场景: 你是后台API提供方, 调用者每天会定时向你发送一批全量数据, 这些数据每天都会有一定的差别, 比如新增了xx新的记录, 减少了xx条老的记录, 还有原创 2013-12-01 17:48:46 · 9701 阅读 · 0 评论 -
API分页最佳实践
提供API分页功能的时候, 有一些最佳实践值得分享, 列出来如下1. 对于合格数据量特别大的情况 比如表中数据1000W, where之后还有30W这种, 禁止使用 limit m,n 这种分页, 越翻越慢, 从而导致mysql消耗资源过高, 此类分页是查出前XX页, 舍弃掉, 如果 limit 100000, 2, 会查出100000条, 然后舍弃掉,推荐使用基于自增id进行分原创 2013-12-18 11:46:48 · 800 阅读 · 0 评论