- 浏览: 21504365 次
- 性别:
博客专栏
-
跟我学spring3
浏览量:2418719
-
Spring杂谈
浏览量:3008855
-
跟开涛学SpringMVC...
浏览量:5639520
-
Servlet3.1规范翻...
浏览量:259943
-
springmvc杂谈
浏览量:1597360
-
hibernate杂谈
浏览量:250234
-
跟我学Shiro
浏览量:5858981
-
跟我学Nginx+Lua开...
浏览量:702015
-
亿级流量网站架构核心技术
浏览量:785234
最新评论
-
xxx不是你可以惹得:
认真看错误代码,有时候重启电脑就行了 醉了 我把数据库配置写死 ...
第十六章 综合实例——《跟我学Shiro》 -
dagger9527:
holyselina 写道您前面说到能获取调用是的参数数组,我 ...
【第六章】 AOP 之 6.6 通知参数 ——跟我学spring3 -
xxx不是你可以惹得:
Access denied for user 'root'@' ...
第十六章 综合实例——《跟我学Shiro》 -
dagger9527:
只有@AspectJ支持命名切入点,而Schema风格不支持命 ...
【第六章】 AOP 之 6.5 AspectJ切入点语法详解 ——跟我学spring3 -
dagger9527:
支持虽然会迟到,但永远不会缺席!
【第四章】 资源 之 4.3 访问Resource ——跟我学spring3
文章列表
在一个阴雨的早上,我坐在桌子旁,开始想如何才能高效的工作。在我成为一个自由职业者之前,我有很长一段时间都很努力工作,但收效甚微。
我在2006开始接触禅学。我马上意识到:古代的禅宗大师们几百年前早就已经知道现今的程序员应该如何工作。虽然我很讨厌“如何成为一个更好的程序员”之类的文章,但我仍旧想分享一些我的想法。它对我来说起到个提醒的作用,如果你有什么想法,也请留言。
0.专注 | Focus
一、场景
public class OrderModel {
private List<String> favorableDescList;
}
订单中会存储一些优惠信息,方便页面展示时使用,如:
1、满100减50
2、参与【老会员真情回馈——精品课程体验活动】,仅需支付200.00学币
3、【Oracle + PL/SQL 实战】套装课程的【抢购】活动,优惠120.00学币
……等等
如图所示,我们在页面给用户展示他们参与的优惠信息:
二、分析
如上优惠信息有如下特点:
1、只用于展示,不会涉及修改;
2、一旦订单支付成功,不会 ...
1、问题
Connection conn =
DataSourceUtils.getConnection();
//开启事务
conn.setAutoCommit(false);
try {
Object retVal =
callback.doInConnection(conn);
conn.commit(); //提交事务
return retVal;
}catch (Exception e) {
conn.rollback();//回滚事务
throw e;
}finall ...
上接Spring提供的BeanPostProcessor的扩展点-1继续学习。
一、Bean Validation框架简介
写道
Bean Validation standardizes constraint definition, declaration and validation for the Java platform.
大体意思是:Bean Validation 标准化了Java平台的约束定义、描述、和验证。
详细了解请参考:http://beanvalidation.org/
Bean Validation现在一个有两个规范:
...
上接Spring提供的BeanPostProcessor的扩展点-1继续分析。
四、BeanPostProcessor接口及回调方法图
从图中我们可以看出一共五个接口,共十个回调方法,即十个扩展点,但我们之前的文章只分析了其中八个,另外两个稍候也会解析一下是干什么的。
===================================================================
===================================================================
五、五个接口十个扩展 ...
上接Spring事务处理时自我调用的解决方案及一些实现方式的风险继续分析,在分析上篇的问题之前,我们需要了解下BeanPostProcessor概念和Spring容器创建Bean的流程。
一、BeanPostProcessor是什么
接口定义
package org.springframework.beans.factory.config;
public interface BeanPostProcessor {
Object postProcessBeforeInitialization(Object bean, String beanName) throws B ...
前些日子一朋友在需要在目标对象中进行自我调用,且需要实施相应的事务定义,且网上的一种通过BeanPostProcessor的解决方案是存在问题的。因此专门写此篇帖子分析why。
1、预备知识
aop概念请参考【http://www.iteye.com/topic/1122401】和【http://jinnianshilongnian.iteye.com/blog/1418596】
spring的事务管理,请参考【http://jinnianshilongnian.iteye.com/blog/1441271】
使用AOP 代理后的方法调用执行流程,如图所示
也 ...
对于测试范围的形式,谷歌并没有使用通用的代码测试、集成测试、系统测试这些常用术语来做区分,而是使用小规模测试、中等规模测试、大规模测试这样的称呼(译者注:代码测试(code testing), 通常指单元测试和API级别的 ...
前言:经过前两篇的介绍之后,评论里留下许多问题。并没有逐一回复,当然不是想把这些评论置之不理,而是希望在这里和后面的文章中做详细介绍和解释这些问题。从这一篇开始,我将开始讲谷歌是如何测试软件的了。
...
导读:本文译自 James Whittaker 在 Google 测试官方博客发表的文章《How Google Tests Software 》。
在所有我被问及的问题中,最多的就是关于谷歌是如何测试的。尽管在博客中(google testing blog)中有过零碎的解释说明,但还是需要 ...
1、问题
问题:想要添加日志记录、性能监控、安全监测
2、最初解决方案
2.1、最初解决方案
缺点:太多重复代码,且紧耦合
2.2、抽象类进行共性设计,子类进行个性设计,此处不讲解,缺点一荣俱荣,一损俱损
2.3、使用装饰器模式/代理模式改进的解决方案
装饰器模式:动态地给一个对象添加一些额外的职责。就增加功能来说, 装饰器模式相比生成子类更为灵活。
代理模式:为其他对象提供一种代理以控制对这个对象的访问。
缺点:紧耦合,每个业务逻辑需要一个装饰器实现或代理
2.4、JDK动态代理解决方案(比较通用的解决方案) ...
最近跟一个朋友聊天,问“你会不会编软件呀?”。我说:“不会,我是做测试的,不是做开发的!”他问:“你是专门挑毛病的,是吧?”我只是笑着摇摇头,说:“我做测试,是找缺陷,不是找茬!” 突然对做测试有些 ...
最近的机器内存又爆满了,出了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。
下面是参考网络资源和总结一些在java编程中尽可能做到的一些地方
1.尽量在合适的场合使用单例
使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面
第一,控制资源的使用,通过线程同步来控制资源的并发访问
第二,控制实例的产生,以达到节约资源的目的
开发人员抵触代码审查的4个原因
- 博客分类:
- reminder[转载]
据调查显示,代码审查工作有助于提高软件开发质量,然而许多开发者却不愿意在他们的团队中实施代码审查工作,本文主要分析了开发者为什么会抵制代码审查工作的原因以及为什么他们会有此想法,目的是为了引导开发者加入代码审查工作。
代码审查究竟是什么样的工作呢?通常情况下它是指否决质量的一种过程。大量统计数据表明代码审查极大的提高了软件质量以及降低了技术风险,不仅如此,它还降低了开发成本。
一起来看下代码审查工作所带来的好处:
如图所示,代码审查工作带来这么多的益处,那为什么还有一些开发团队拒绝这一做法呢?我们一起来分析下原因:
编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”
很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数