2011年10月31日

Maven开发过程实践之三—(单元测试报告 test)

摘要: IT男罗书全凝视着单元测试通过的一条条绿线,长长的舒了一口气,单元测试全部通过。于是他向老孙报告了此一情况,老孙表扬了罗书全,但是又说:“如果能把整个项目的单元测试情况做一个统计,并写成一个报告就好了。” Maven许多report插件就是针对此类对项目的整体情况的分析统计以给管理人员提供项目质量的一个监控服务的。比如插件cobertura-maven-plugin提供单元测试整体覆盖率以及分支覆盖率的工具,给编写单元测试的开发者提供一个参考,看其中是否存在有重要代码遗漏的情况。首先在pom.xml中做如下配置: 1: <reporting> 2: <plugins> 阅读全文

posted @ 2011-10-31 09:15 jinspire 阅读(14655) 评论(5) 推荐(4) 编辑

2011年10月25日

maven开发过程实践之二--(配置项与源代码分离 process-resources)

摘要: 随着最后一行代码的输入,IT男罗书全欣喜若狂,程序写完了,可以试着运行代码了。按下run键之后,出现了以下错误:连接不上,怎么回事呢?跟踪了许久后发现,原来连接数据库的url地址不是开发环境的,导致连接不上。这样的场景在开发过程中是屡见不鲜。造成此问题的原因是源代码和配置项没有分离。配置项是跟着配置环境走的。用测试环境的配置去配开发环境,轻则连接不上,重则出现根据源代码无法解释的结果。Maven在插件中解决了此问题。解决方案为将需要根据环境变化的配置项从配置文件提出形成一个单独的配置项文件。文件:default.properties 1: db.jdbc.url=jdbc:mysql://.. 阅读全文

posted @ 2011-10-25 10:07 jinspire 阅读(8387) 评论(0) 推荐(2) 编辑

2011年10月19日

maven开发过程管理之实践一(开发环境与代码隔离 generate-sources)

摘要: 在上一篇博客使用maven进行开发过程管理之准备篇中提到了maven的基本概念。IT男罗书全觉得概念我是懂了,但是那些东西似乎离我很远啊。先开发再说吧, 于是IT男罗书全就在svn上取了源代码,并开始导入到本地开发环境中去。三下五除二,点击import,出现熟悉的导入界面。 导入失败,这是怎么回事?问了同事才知道,公司使用的是idea开发环境,而自己用的是eclipse.怎么办呢?放弃自己心爱的eclipse,真痛苦,而且不熟悉会导致开发效率较低。有没有两全其美的办法呢?有的。 想想大家做数据访问层时,hibernate是怎么实现兼容不同数据库的呢?创立中间的一种语言,比如hql,在配置里得. 阅读全文

posted @ 2011-10-19 10:19 jinspire 阅读(14812) 评论(2) 推荐(3) 编辑

2011年10月17日

使用maven进行开发过程管理之准备篇

摘要: 一、 问题 IT男罗书全作为一个新进开发人员,进入了 职业生涯的第一个软件项目,平日学习的开发技术就可以派上用场了。整个项目组在合作过程结果碰到了许多问题:1. IT男罗书全从SVN拉下分支,准备开发环境导入,结果失败。发现自己用的开发环境和公司的环境不同。2. IT男罗书全运行写好的程序,结果发现数据库无法连接,找了许多配置文件后,发现原来是自己的某个配置项有问题。3. 整体单元测试,情况无法生成报告,观察整体项目情况。4. IT男罗书全在更新别人的许多代码后,发现程序起不来了,定位问题花了很长时间。5. IT男罗书全的程序明明改了,可结果就是跟没改前一样。确实程序都发布了啊,后来发现程.. 阅读全文

posted @ 2011-10-17 08:53 jinspire 阅读(6748) 评论(0) 推荐(2) 编辑

2011年10月9日

Web架构发展遐想

摘要: 以前读过Roy T Fielding的<<Architectural Styles and the Design of Network-based Software Architectures>>,其中谈到了架构的style—一组对组件及其连接的限制规则是在特定的需求和技术环境下产生的。随着时间的推移,需求和技术环境发生改变,主流架构style的思想也会随之而变的,但按照老的架构style构建的软件还存在,这不可避免的给使用者造成巨大的困惑以及冲击。比如B/S开发到富客户端开发,从富客户端(Rich Client)开发者看待B/S,就感觉其有许多问题,为什么会开发出与满 阅读全文

posted @ 2011-10-09 10:32 jinspire 阅读(2779) 评论(8) 推荐(2) 编辑

2011年10月8日

HTML5应用之我见

摘要: HTML5的发展现在已经是如火如荼,但是枯燥的标准似乎离我们的应用太远了,其实html5也是应web用户的需求产生的,而且此标准产生远远落后于实际需要。以下是我认为比较重要的特性以及其应用: 1. worker多线程模式:过去在js运行环境中不存在多线程的概念,随着web2.0推动,客户端现在不限于只是被动展现html生成的界面的情况,而越来越强调部分数据交互在客户端改变dom结构的方式。当然服务端的并发支持也越来越好,如nio等快速响应可处理大量并发请求的方式应用,完全可以将html里大量展现结构的数据传递省去,而只是经常性的传递少量数据的改变,而由客户端自己来操作界面展现。那随着此项技术. 阅读全文

posted @ 2011-10-08 09:02 jinspire 阅读(3036) 评论(4) 推荐(3) 编辑

2011年9月20日

Struts2 Validate机制详解

摘要: 校验是所有web框架中都需要的一个功能。下面让我们来对校验问题进行一个分析: 校验问题的分类: 转型校验:由于页面提交过的来所有数据都是text,而web框架中处理的都是对象,需要转型。 而转型过程中不可避免的需要校验。 用户自定义的数据校验:转型后的数据用户往往还有许多自定义的校验要求,比如年龄必须是自然数等,那就要允许用户对表单的每个字段可以... 阅读全文

posted @ 2011-09-20 11:03 jinspire 阅读(6437) 评论(0) 推荐(0) 编辑

Struts2初始化过程代码分析

摘要: 根据web.xml的配置 调用FilterDispatcher.init(FilterConfig filterConfig) 1. 创建org.apache.struts2.Dispatcher,并调用init()方法 1.1. 创建com.opensymphony.xwork2.config.ConfigurationManager,其中属性List<ContainerP... 阅读全文

posted @ 2011-09-20 11:01 jinspire 阅读(3148) 评论(0) 推荐(0) 编辑

2011年8月17日

Strurts2请求过程分析

摘要: 根据web.xml中的url规则拦截配置 如果匹配则被org.apache.struts2.dispatcher.FilterDispatcher拦截,执行方法doFilter(ServletRequest req, ServletResponse res, FilterChain chain)。 request = prepareDispatcherAndWrapReque... 阅读全文

posted @ 2011-08-17 13:03 jinspire 阅读(984) 评论(0) 推荐(0) 编辑

2011年8月11日

简单之美

摘要: 设计是需求和开发之间的一个隔离层,复杂的需求在巧妙设计后,可以化繁为简。而在设计时总有一种完美的倾向,似乎非要建立满足所有需求的设计。 但这样会带来许多问题,一来,有些需求看似重要,其实是无病生吟。所谓取舍,取重要,舍更重要。二来,由于过于复杂的设计往往首先压垮的是自己,且外部条件对其使用条件的束缚也会增加。比如高精密的M16自动步枪,精度非常之高;AK47的精度较低,经... 阅读全文

posted @ 2011-08-11 10:47 jinspire 阅读(280) 评论(1) 推荐(0) 编辑

导航