前言

从近几年用人单位对人才招聘的要求来看,越来越趋向于“实战性”,也就是要求新入职的员工能立即融入团队,迅速上手项目开发,快速创造经济利益。

多年以来,我一直从事与软件开发相关的工作。我的很多学员建议我写一本内容精悍而又不失实用价值的主流Java EE开源框架图书,使其只包含主流框架最重要、最核心、最常用的内容。这样他们就可以尽快上手,可以自行在工作和学习中不断拓展和深掘。这也是我写作本书的主要目的。

的确,他们的建议非常有道理,因为Java EE世界非常庞大,市面上没有任何一本书能把它讲得钜细靡遗。要想学好Java语言或Java EE框架,掌握其中丰富的编码技巧、设计模式、代码优化方法,将它们熟练地综合应用在项目开发中,并没有捷径可走。而本书则希望可以成为读者学习掌握Java EE的梯子。本书不仅涵盖学习主流Java框架所须掌握的核心技术,还涵盖使用它们进行项目实战的必备知识,其主旨就是让读者尽快上手,掌握开源Java EE框架的核心内容,汲取Java EE的思想,正确进行项目开发。

现在,主流的Java EE框架还是MyBatis、Hibernate、Struts 2、Spring MVC、Spring。尽管有些Java开源框架的确能极大提升开发效率,但由于用户数不多,并没有普及开来;而软件公司在招聘时的技术要求则是“大众化”的,这就要求应聘人员具备主流Java EE框架的使用经验。本书通过近200个开发案例对上述主流的Java EE框架开发技术进行了详细讲解,可以让读者充分认识、学习、掌握这些核心技术,为他们的求职就业和项目开发提供帮助。

本书面向的读者

首先,本书适合所有Java开发人员阅读。Java EE作为Java开源世界的主流框架, Java开发人员没有理由不学习它们。其次,本书适合打算学习Java EE框架编程的在校学生阅读。由于在校学生的课业繁多,很难花费大量的时间去研读大部头著作,而本书以效率和实用性为特色,可以带领他们进入Java EE框架开发的殿堂,迅速上手Java EE开发核心技能。

本书的结构

第1章,“MyBatis 3操作数据库”,将介绍基于SQL映射的MyBatis框架(可以使用此框架操作主流的数据库),并介绍MyBatis核心API的使用,以及使用自定义的封装对象简化MyBatis的操作代码,进而加快开发效率。

第2章,“MyBatis 3常用技能”,讲解MyBatis映射有关的知识,包括<sql>、<resultMap>、<choose>、<set>、<foreach>等常用标签;DB连接信息存储到Properties文件的读取;CLOB字段的读取以及分面。

第3章,“Struts 2必备开发技能”,在开篇介绍一个微型MVC框架的设计,让读者去体会MVC框架的工作原理;随后介绍基于Struts 2的有刷新验证及文本信息的国际化,转发/重定向的操作,多模块分组开发的实现,使用松/紧耦版的API进行实用开发;最后介绍与HttpSession有关的Cookie技术,并用HTTP嗅探的方式进行学习。

第4章,“Struts 2文件的上传与下载”,讲解如何使用Struts 2框架实现上传、下载(支持中文),并支持多文件上传的功能。

第5章,“JSON、Ajax、JQuery与Struts2联合使用”,讲述Web开发中的主流技术Ajax以及JSON技术,并介绍结合使用JSON、Ajax和Struts 2实现前台和后台数据通信的功能,有助于读者掌握不同格式JSON的解析技术。

第6章,“Spring 4 MVC实用开发”,本章讲解最流行的Spring 4 MVC框架,读者可以体会使用此框架开发一个经典登录功能时使用的技术点。此外,还介绍了限制表单提交的方式、分组分模块开发使用的技术、重定向/转发、使用JSON+Ajax+Spring 4 MVC联合开发、上传/下载,以及使用数据验证功能等知识。

第7章,“Spring 4 MVC必备知识”,本章详细介绍了Spring 4 MVC框架,包括xml配置文件的处理、业务层Service的注入、ModelAndView对象的使用,以及HttpSession在Spring 4 MVC中的使用。

第8章,“Spring 4 MVC+MyBatis 3+Spring 4整合”,讲解特别常用的Spring 4 MVC+MyBatis 3+Spring 4整合,并以当前最具实战的组合框架来讲解整合的过程,而不囿于某一个框架本身;而且整合后的项目代码写法更加统一,便于维护与扩展。

第9章,“用Hibernate4操作数据库”,讲解如何使用MyEclipse集成开发工具对数据表进行Hibernate逆向,以及如何在Java或Web项目中使用Hibernate 4操作数据库。

第10章,“Hibernate4核心技能”,本章讲解Hibernate 4的核心功能,这些功能在实际开发中使用得非常多,因此也是掌握Hibernate必备的知识点。

第11章,“在Hibernate4中使用HQL语言进行检索”,本章讲解如何使用HQL来实现复杂的查询功能。

第12章,“Spring4的AOP和IOC”,本章介绍Spring 4中的IOC和AOP技术,深入剖析动态代理的实现与原理。

第13章,“Struts 2+Hibernate 4+Spring 4整合”,本章讲解Struts 2+Hibernate 4+Spring 4的整合使用,它也是软件公司中非常常用的整合搭配。

第14章,“有状态无状态SessionBean和消息驱动Bean”,本章介绍如何在WebLogic中使用EJB3中的核心技术:有状态/无状态会话Bean和消息驱动Bean。读者在学完该章后,能掌握如何在EJB3中实现远程调用RMI,并深入体会Java EE分布式处理数据的方式。

第15章,“实体Bean”,本章介绍EJB3中的实体Bean技术,EJB3中整合了JPA,所以在EJB3中实现ORM映射后可以方便地进行CURD操作,大大扩展会话Bean的使用范围。

第16章,“JPA核心技能”,本章介绍Java EE中的JPA规范。主流的ORM框架都支持JPA,比如Hibernate、OpenJPA等,所以是否掌握JPA也是考量程序员是否熟练使用Java EE的一个标准。

第17章,“JPQL必备技能”,本章介绍在EJB3中如何使用JPQL实现查询功能。

第18章,“FreeMarker模板引擎的使用”,本章介绍FreeMarker模板引擎框架,它使用模板技术对软件项目的UI层进行组件化,还可以用来方便地实现网页静态化。

如何使用本书

本书并不是Java Web编程的入门教程,也就是说,读者在学习本书之前,需要对Java Web中的JSP、Servlet等Web技术有所了解,最好是有JSP或Servlet相关的开发经验,这样才能更好地使用本书。

此外,你的计算机中还要安装MyEclipse。MyEclipse版本众多,为了能够顺利地运行书中的代码示例,需要使用MyEclipse 8.5以上的版本。读者可通过http://www. myeclipseide.com/下载。

最后,要想真正掌握软件开发的知识,实践是唯一的途径。希望读者在阅读并理解领会了本书内容之后,能够动手实践书中的代码示例,争取达到融会贯通、举一反三的目的。

联系作者

由于Java EE博大精深,涉及的知识点相当多,加之作者水平有限,错误之处在所难免,敬请读者对不足之处给予赐教和斧正。