下面是我的回信:
您好: 感谢你对EasyJF的关注以及对国内开源的支持,国内环境普遍浮躁,因为有太多像春迷这样的人存在,搞得大家都不敢表达自己的思想了,因此还希望以后能继续多对国内开源人给予支持。 关于您来信中说到的问题,我觉得可能是你对java的基础的掌握还不够的原因,简单来说就是内力不够。好比中国传统武侠小说中练武人的内力问题,降龙十八掌这样的绝世掌法,要是没有一定的内力作基础的话,就只能是降蛇十八掌,甚至蛇都降不了。虚竹小和尚的武功也是因为有了高深的内力,才能变得那么牛的。 而修练J2EE武学的内力,我认为大致分为三层,初级层次是JAVA基础,第二层次是OO思想及模式,第三层次是特定领域(如Web开发相关技术规范、Servlet规范、JPA规范、EJB3规范等)、专业知识的学习。有了这些内力,不管他是SSH还是EasyJF,使用起来都会非常容易的。 SSH属于框架,属于工具,也是中间件。他们是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。 他们里面有很我优秀的设计理念及模式应用。比如, struts属于MVC框架,关键是要了解MVC的概念及大致原理,掌握就很容易了;而hibernate属于orm系统,属于持久层的解决方案,同样需要对ORM的概念及原理有一个总体的了解,必要时可以去查查EJB1及EJB2里面用于持久层的Entity Bean的使用。而spring属于应用程序框架,其核心是IOC容器以及AOP,把这两个核心概念(也可称为大模式)了解以后,再加上一定的内力修为,其它就都不难了。Spring中还集成了很多适用东西(不过这些东西80%的在某一个项目中可能一直用不上),比如对JDBC的封装、自己的MVC、对动态语言的简洁访问等,这些你根据自己的项目情况来选择学习,用到的时候再看看他的文档,一个项目下来应该就能把握。 说了那么多,我累了,你一定也有点晕了,下面结合你的情况,简单发表一点我的建议: 1、用一年的时间慢慢提升自己的内力,然后这期间可以通过下面的方法同步学习使用ssh。 2、看一些国内作者原创的书籍,并运行相关代码,比如孙卫琴的Struts及Hibernate等入门教程,罗时飞的Spring教程。他们的书都通谷易懂,很多属于他们在学习过程中的点滴记录,因此一定非常好懂。不要一下子就去读Rod的《J2EE Without EJB》,或者是Spring开发团队编写的《Spring框架高级编程》,甚至《Spring in action》!由于很多缘故,这些书看了你一定会更晕。 3、下载一些国内原创的SSH应用源码示例。国外有很多这样的,也可以多看看。 4、运行这些框架所附带Example示例,并了解其设计原理,并能简单修改。 5、运行并多看这些框架的测试代码。要像买彩民分析采票走势图那样慢慢琢磨分析。 6、在自己的项目中多动用,熟练使用一个开发工具,如Eclipse,并能掌握程序调试技巧。 最后,关于Spring的学习,可以看看我们最近在编写的《深入Spring 2:轻量级J2EE开发框架原理与实践》的电子版,现在有两章可以下载,比较适合入门,网址是:http://www.easyjf.com/spring。 另外,我准备你给我的信及我给你的回信放到我的blog上,供大家分享我们的交流,不知道您是否愿意? 祝:学习愉快,工作顺利! EasyJF开源 大峡 2007-01-10