七个月过去了,这半年是不断学习的半年,是接触新知识最多的半年。这半年也是我大学毕业的时间。四年的大学生活结束了,但是四年的提高班还没有结束,还需要努力去学习。
这半年基本上是在java的世界中度过的,从SSH,JBPM,OA,一直到SSH2。自己的眼界不断的得到开阔。逐渐体会到了软件开发的庞大与艰辛。下面逐个说明一下自己半年的收获。
学习SSH是从学习完DRP开始的,整整学习了两个多月,学习的主线是看ssh的一个教学视频,从开始的struts到hibernate再到spring。ssh是一个很好的框架,解决了java的最基本问题,以前学习.net的时候总是在想,.NET提供了这么好的封装,怎么java里面都没有呢?连接一个数据库连接还得写半天。现在才明白,java原来封装的更好,更彻底,更灵活。
SSH分为三块内容,首先学习的是struts(这里指的是struts1),一般大家学习ssh的时候也是按照这个顺序来,struts主要是解决了web应用中关于页面请求的处理和数据的统一验证,统一转发的问题。这点在开始的时候体会不是很深刻,但是在做后来的教务工作流系统的时候充分理解到解决页面流转的重要性,在多个方法,多个页面的处理中,如果没有统一的页面流转做支持,项目根本是一团乱麻。
学习struts最重要的是理解struts对于请求的拦截,对表单的数据处理。还有就是action将传递过来的数据处理然后返回给页面这个过程。总体来说struts是比较简单的一个框架。也是最好理解的一个框架。
接着学习的是hibernate ,早就听师哥们说过这个hibernate,感觉很神秘,世界上尽然有这么强大的工具,不用我们写sql语句了。对于程序员来说当然是天大的好事。hibernate是一个轻量级的数据库持久层框架,它可以让我们通过操作对象模型来操作数据库,这样的最大好处就是可以很方便快速的搭建起数据库访问层。但是它对一个程序员对面向对象的关系模型理解要求比较高,你必须充分的理解系统中各个实体之间的关系才能搭建好数据库。才能创建出合理,高效的数据库。这个时候我才体会到学习UML的好处。当时花费了很长时间在UML上,包括在软考中学习数据库设计那块,也对掌握hibernate有很大的帮助。
学习hibernate重点要掌握hibernate中几种关系的配置,尤其是经常用到的一对多,多对多关系模型。更是必须掌握。其中对于集合,继承的映射也是非常重要的一点。再者就是对于hibernate的抓取策略和hql语句的掌握。
剩下是对spring的学习,spring的学习分为了两个阶段,第一个阶段知识简单的过了一下视频,对视频中讲解的例子做了简单的实现。学习完以后,发现自己根本就不会使用,它的使用是在后来学习王鹏师哥的ssh2中主要学习的。
spring主要是对系统中的各种bean的管理,对他们的生命周期进行关系,对系统的事务进行管理。学习spring最主要的是理解IOC的原理和事务的实现过程。理解什么是DI。这些对于spring是至关重要的。
在总结ssh的时候,鹏哥说让我和他一起研究jbpm,当时自己也没有新的任务,就决定和鹏哥一起研究,当时主要看的是李腾飞的jbpm视频,连从网上找了一些这方面的资料。
研究jbpm主要是为了实现一个工作流平台,将工作流配置放到客户端上,在浏览器中运行,计划使用flex实现创建流程和部署流程。当时由于接触的是一个完全陌生的环境,所以花费了大量的时间去研究各个相关概念。
学习OA也是为了实现jbpm的流程平台,当时米老师决定让我们三个人一起研究,首先做的是知识储备,从学习oa开始,当时学习的主线也是一套李腾飞老师的oa视频,视频的声音效果不是很好,导致当时看的时候一直是云里雾里的。
OA有三大部分,一个是基础的用户和模块管理,是普通MIS一样;另一个是权限管理,对用户对页面的操作权限进行管理;还有一个是工作流管理,对系统中的业务建立流程,公文,然后对公文进行流转。我们这次主要做的是第三部分。也是OA的核心部分。OA的学习让自己了解了很多的知识,比如:动态表单,权限管理,dwr,freemarker,flex等。对于自己的知识面和技术有了进一步的提升。
在开始正式对工作流进行编码的时候,由于自己以前在视频中看到的都是一些版本比较低的知识。我在项目中决定启用比较新的技术。决定使用struts2+spring2.5.6+hibernate3。其中hibernate还是原来的版本,hibernate的最新版是4.1。当时没有使用,怕这块兼容不太好。jbpm学习的是3.2。但是项目中决定使用jbpm4.4。因为这个版本比较稳定,流行。
这里面的很多东西都有很大变换,比如struts2和struts1变化就很大,jbpm也是变化很大。当时为了项目更好的使用就看了六期王鹏师哥的一套关于ssh2的视频,对ssh2做了几个demo,其实ssh2中基本上就是struts由1变成了2。做完demo以后,对jbpm4.4做了几个demo。充分了解以后开始搭建项目环境,然后开始正式的做。
其中ssh2用起来比较顺手,尤其是struts2比struts1更加人性化,使用更加合理,让自己感觉很是轻松。当时对于hibernate的操作不是很熟悉,现在想起来也不是很清楚,尤其是hibernate的抓取策略,级联删除等。自己不是明白。将来一定要主要研究一下。
对于英语的学习,这半年来也是一直在努力。按照米老师创立的sb理论,每天注入不同的英语场景。那天吉庆对我们进行英语测试,发现自己对于小乌龟的印象真的是太深刻了,我甚至听第一句话就能说出这集视频的内容和小乌龟的动作语言。真的是达到了MIF的境界了。英语是一个强大的武器,自己也充分的明白英语的重要性,英语还要多加努力。
现在一直在做工作流平台,我的两个战友都走了,现在就剩下自己了,项目到了最关键的阶段,但是我相信自己一定能完成这个平台,把它献给提高班。