程序员为什么不写单元测试                        袁光东   笔记曾经做过一次“程序员在项目开发中编写单元测试的情况”的调查。调查结果: 1.       严格的在项目中执行TDD 几乎没有 2.     ...
lazy Lazy 延时初始化策略 UNSPECIFIED   ...
Spring JavaConfig开发指南 作者:袁光东 1.           什么是JavaConfig Spring IOC有一个非常核心的概念——Bean。由Spring容器来负责对Bean的实例化,装配和管理。XML是用来描述Bean最为流行的配置方式。Spring可以从XML配置文件中读取任何类型的元数据并自动转换成相应的Java代码。Spring开变了java的编程模式,Spring的下载已经超过了1亿次,可见Spring已经有多流行。 随着Spr ...
ThreadLocal与synchronized Java良好的支持多线程。使用java,我们可以很轻松的编程一个多线程程序。但是使用多线程可能会引起并发访问的问题。synchronized和ThreadLocal都是用来解决多线程并发访问的问题。大家可能对synchronized较为熟悉,而对ThreadLocal就要陌生得多了。 并发问题。当一个对象被两个线程同时访问时,可能有一个线程会得到不可预期的结果。 一个简单的java类Studnet public class Student { private int age=0; public int getAge() { ...
public void testAddUserInfo() throws Exception{ userInfo = new UserInfoDTO(); userInfo.setUserId("001"); userInfo.setUserName("张三"); userInfoDao.addUserInfo(userInfo); this.assertNotNull(userInfoDao.getUserInfo(userInfo.getUserId())); this.assertEquals(userInfo.getUserId(), userIn ...
Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。 我们在使用Spring声明式事务时,有一个非常重要的概念就是事务属性。事务属性通常由事务的传播行为,事务的隔离级别,事务的超时值和事务只读标志组成。我们在进行事务划分时,需要进行事务定义,也就是配置事务的属性。 Spring在TransactionDefinition接口中定义这些属性,以供PlatfromTransactionManager使用, PlatfromTransactio ...
Ibatis是一个高效,方便,易于学习的数据访问组件,在性能上比hibernate高,学习难度也比hibernate和jdo要低,而且它比直接使用jdbc方便和易于维护。所以Ibatis深入大家的喜爱,一些对性能有更高的要求的系统(如保险,金融行业系统),或改造遗留系统时,Ibatis是数据访问组件的首选。 在使用Oracle数据库时,读取CLOB和BLOB等大类型的数据一直是个比较犯难的事,一般都是通过JDBC代码来实现对CLOB和BLOB数据的读写,效果和性能都是最好的,但是代码也相当复杂,且代码难以重用。 在使用ibatis作为数据访问组件,也经常会遇到要读取CLOB,BLOB大类型 ...
细说框架风云 JSF能否拯救WEB江湖 Java企业开发可以说是“复杂”的代名词,简化Java的开发已经刻不容缓了.随着JAVA EE 5,JAVA EE6的相继发布,从老虎到野马,版本更新如此之快,对SUN来说是史无前例的。Sun终于顶不住来自内部改革派和外部竟争者的压力。看来是下定决心简化JAVA了! 在2005年底.Net 2.0的发布,我们目睹了.Net 2.0的成功。.Net 2.0由于开发简单,开发周期短,开发成本低,中小企业纷纷转投向.Net的怀抱。眼看JAVA EE的市场慢慢的被.Net蚕食,Sun是急在眼里,痛在心里。 JSF也随之成为J ...
模板方法(Template Method)模式是GOF设计模式中最为常见几个模式之一。现在流行的很多框架中(如Spring,struts等),我们都可以看到模板方法模式的广泛应用。模板方法模式主要应用于框架设计中,在日常的应用设计中也被经常使用。 可是,我们在运用模板方法模式来解决我们的需求而进行设计时,往往忽略了一些非常重要的细节。保证架构逻辑的正常执行,不被子类破坏;怎么让子类扩展模板方法等。 1. 模板方法设计模式的意图 通常我们会遇到这样的一个问题:我们知道一个算法所需的关键步聚,并确定了这些步聚的执行顺序。但是某些步聚的具体实现是未知的,或者是某些步聚的实现与具体的环境相关。 ...
Spring架构设计-增强MultiActionController 在使用Spring提供的控制器时,AbstractController和SimpleFormController是应用得最多的。AbstractController是最基本的Controller,可以给予用户最大的灵活性。SimpleFormController则用于典型的表单编辑和提交。在一个需要增,删,改,查的需求中,增加和修改扩展SimpleFormController完成,删除和查询则扩展AbstractController完成。 但是像上面那样完成某一业务对象的增,删,改,查,都属于一类相关的业务。把一类相关的操作 ...
klyuan
搜索本博客
最近加入圈子
存档
最新评论