JAVA网页设计Spring下营业层的UnitTest--4.15更新
net程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net比。java程序员都是代码完成的,所以java程序员常戏称.net程序员是操作员,呵呵。磨蹭了好久,终究入手下手用UnitTest。缘故原由一和人人一样,不想早晨做恶梦,缘故原由二是在Spring下对营业层TDD,可以不必要Tomcat,完整挣脱对显现层开辟进度的依附,而专注疾速的开辟营业层。可是我们也只在营业层利用UnitTest,由于MVC中显现层至今没有甚么好的UnitTest办法(不管是不长进的httpUnit们仍是粗笨的GUItest工具),而我们的营业逻辑又严厉封装在营业层,Controler层只做个组装分拨的基础举措,没需要花鼎力气往测试。
在Spring下的测试很复杂,即便手写ApplicationContext的载进与Bean的创立都很复杂,但在两方面Spring供应了更年夜的便利
1.bean的静态注进
原本本人手工load也不贫苦,但只需你的testCase承继Spring-mock.jar里的AbstractDependencyInjectionSpringContextTests,你乃至只需把变量声明为protected,就会取得主动注进.
2.数据库情况的保持
Spring的办理办法也非常复杂,他会为每一个办法主动的,强迫的rollback,如许就不存在清算-保持的成绩了,只需你的testCase承继于AbstractTransactionalDataSourceSpringContextTests.
同时,这个AbstractTransactionalDataSourceSpringContextTests兼有下面AbstractDependencyInjectionSpringContextTests的功效.
3.进一步简化
一来这两个基类的名字都太长了,二来另有一些大众的设定,好比在机关函数实行setPopulateProtectedVariables(true);如许子只需声明protected就会主动态注进,不然还要写setter才会主动态注进.好比一些大众的context文件的界说.
以是我们笼统了一个基类publicclassDAOTestCaseextendsAbstractTransactionalDataSourceSpringContextTests{protectedArrayList<String>contexts=null;
publicDAOTestCase(){//设了这个,就可以autowirebyname,不然bysetter.setPopulateProtectedVariables(true);
contexts=newArrayList<String>();contexts.add("/applicationContext-Hibernate.xml");contexts.add("/applicationContext-SetupService.xml");}
publicString[]getConfigLocations(){String[]tmp=newString;returncontexts.toArray(tmp);}}
实践的子类publicclassCustomerDAOTestextendsDAOTestCase{protectedCustomerDAOcustomerDAO;
publicvoidtestGetCustomer()throwsException{Customercustomer=customerDAO.lookCustomer(1);assertEquals((int)customer.getCustomerNo(),1)}}
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 是一种将安全性(Security)列为第一优先考虑的语言 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
页:
[1]