对于spring初学者的学习建议

上传人:艾力 文档编号:36623076 上传时间:2018-03-31 格式:PDF 页数:36 大小:359.32KB
返回 下载 相关 举报
对于spring初学者的学习建议_第1页
第1页 / 共36页
对于spring初学者的学习建议_第2页
第2页 / 共36页
对于spring初学者的学习建议_第3页
第3页 / 共36页
对于spring初学者的学习建议_第4页
第4页 / 共36页
对于spring初学者的学习建议_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《对于spring初学者的学习建议》由会员分享,可在线阅读,更多相关《对于spring初学者的学习建议(36页珍藏版)》请在金锄头文库上搜索。

1、对于 Spring 初学者的学习建议 一、首先 Java 的基础、面向对象的基础和设计模式的基础知识是必不可少的。 关于设计模式我觉得不用学太多,但以下三个模式是学习 Spring 必不可少的:factory 模式(包括简单工厂和抽象工厂) ,Strategy 模式,Template method 模式。如果不掌握这些 你就根本没法领悟 Spring 的精髓,只能依样画葫芦地照搬,这是很可怕的事。 我这里强烈建议的书可能让人有点意外,那就是 Expert one on one J2EE design and development 的第四章,这一章不仅仅是 Spring 初学者,而是任何搞 J

2、ava 开发的人必读的一 章。经典! 二、接下可以看一些 Spring 的入门书籍 其实我自己没怎么看过这方面的书,我当时只看过 Spring 的 reference,不过现在这方面 的书好象多的是,而 Spring reference 看起来还是有些吃力的。JavaEye 上很多人建议夏昕的 Spring 开发指南,据说入门很容易。另外的入门书应该是 Spring live 或 Spring in action。我 大概扫了一下,Spring live 是一本只讲怎么做而不讲为什么的书,我不太喜欢(偶尔参考一 下倒不错) ,不过有些人特别喜欢这样的书,看自己的个人爱好吧。 三、研究几个用 S

3、pring 做的开源项目 理论还是要与实际结合,所以看完书后是要看实际的项目的。很多人喜欢 appfuse,我 觉得 appfuse 花的东西太多,真正实质性的内容又太少。我更喜欢 Spring 自带的 jpetstore, 这是一个非常完整的例子,看完后 Spring 的基本用法应该都能掌握。 四、开始做实际的项目 在上述这些都完备以后, 我觉得应该要去实际项目中锻炼了。 当然并不是每人都有这样 的机会的,这时只能自己做个玩具项目啦。项目的锻炼是非常关键的,其实每个人都清楚, 我就不重复了。 五、继续深入学习 经过项目的锤炼,对 Spring 的用法和原理有了一定的了解的时候,才有可能真正掌

4、握 Spring 的精髓。这时要读的书才是 Rod Johnson 的三本经典名著,分别是: Expert one on one J2ee design and development Expert one on one J2ee without EJB Professional Java Development with SpringFramework 前两本书的经典程度我就不说了,只有读了它们,才能真正了解 Spring 的设计意图, 掌握 Spring 的精髓。 第三本书是我强烈不建议初学者读的书。 里面的东西深入而全, 但是原理讲解得又不够 深, 很容易让初学者犯迷糊。 但是却是 Sp

5、ring 的高级用户必读的一本书 (还有一本 pro Spring 据说也不错,不过我没读过) 。我过几天会写一下这本书的书评。 当然这个阶段与第四阶段是交错的,边读书边做项目学到的东西才会更多的。 六、分析源代码,扩展 Spring 有人认为没有必要分析 Spring 的源代码,因为这是很累人又不计好的事。但是要想成 为 Spring 的高级用户,这是必经的阶段。在学习的过程中,我们学到的不仅是 Spring,更 重要的是他的设计思想。不管怎样,看牛人的源代码是绝对有好处的。不过这是一个很累人 的过程,要有思考准备哦! Struts+Spring+Hibernate 分析 发布日期:2007

6、-3-13 19:21:00 发布者:责任编辑英雄 评论:3 浏览:2114 现在给美国老作项目,他们那边要求一定要用“Struts+Spring+Hibernate“来实现,下面就是我 对它们组合的理 解: 1,先说说表示层 其实没有必要使用 struts,除非你有历史遗留问题不得不用 struts,因为 spring 的 mvc 已 经足够好了: a. 清晰的模型对象传递,这个模型对象可以是任何 java 对象,如果你不在意在各层之间传 递同一个对象的 话,这个模型对象就可以是 hibernate 的 persistent object,通过 open session in view,你可

7、 以以一致的方式使用业 务模型对象。 b. reference data,让你清晰的处理 look up 数据。 c. 多种可供选择的视图解析类型,可以在 prpperties 文件中定义 page 的逻辑名,或者定义 在 xml 文件里的 struts tiles 逻辑名。 d. 无干扰的数据绑定,一个可以对模型对象和 form 进行绑定,就像 struts 自动 填充 formbean 一样,但 spring 的绑定功能不会干扰界面布局,也就是说,你仍然可以使用 html 编辑器对页面进 行处理。 e. 客户端验证。 f. 服务器端验证。 g. 多种可供选择的控制器,其中支持表单的控制器提

8、供了类似 vb 中表单事件处理的功能, 这是一系列的 workflow,在你认为合适的地方,插入你的处理代码。 spring mvc 与 struts 比较,可能只是少了很多 taglib 和页面布局,但这都可以通过第三方工 具补充,因为视图相比于其他部分,毕竟更轻量级一些。可以选择的第三方工具可以是: displaytag,struts-menu,struts tiles,等等。 2,在说说业务逻辑部分 业务逻辑类可以用 spring 的 beans 进行配置, 并由 spring 管理与表现层的控制器及更下 层的 DAO 对象的关系。另外,还可以进行配置性的事务处理,一个 intercep

9、tor 配置,免去 了你的所有烦恼。 3, dao 层 用 spring 封装后的 hibernate API,让 Hibernate 继续瘦身,并且通过 spring 建立与上层的关 系。 4, 最后,说说 hibernate 的 po 你可以选择你喜欢的任何方式进行建模,以下工具提供了足够的支持: a. 从 java 对象到 hbm 文件:xdoclet b. 从 hbm 文件到 java 对象:hibernate extension c. 从数据库到 hbm 文件:middlegen d. 从 hbm 文件到数据库:SchemaExport 至于可供参考的项目,可以看看 spring 的

10、例子 petclinic(spring+hibernate) ,还有一个不可不 看 的 网 站 : http:/ 或 spring mvc + spring +hibernate)。另外,spring 带的 mvc step-by-step 是一个很好的入门教程。 需要说明的是,spring 仅仅为我们提供了一种设计和实现框架的方式,因此,项目的成功与 否,是与我们的构架设计紧密相关的,在有了好的设计思想以后,善用 spring,会让我们的 成功来的更容易。 1、课程名称:Spring IOC、AOP、SSH、Spring 的作用 2、知识点 2.1、上次课程的主要知识点 1、 Struts

11、+ Hibernate 2.2、本次预计讲解的知识点 1、 了解 Spring 的作用 2、 掌握 Ioc 的应用 3、 了解 AOP 的作用 4、 SSH 整合:Struts + Spring + Hibernate 完成项目开发 3、具体内容 3.1、Spring 的作用 之前的开发模式:Struts + Hibernate,由 Hibernate 完成具体的数据库操作,但是开发者在 开发中就必须不断的处理一些与具体业务无关的操作,例如:Session 的打开与关闭、事务 处理等, 那么实际上这些与业务无关的操作又决定了程序的最终运行效果, 如果不关闭数据 库,则程序到一定程度就无法再继续

12、使用了。 业务逻辑层由 Spring 去做,整合前台和后台数据库间的互操作。 要创建一个类的实例化对象有多少种方法? 直接使用 new 关键字,最直接的做法。 通过 Class 创建 对象克隆 对象引用传递。 使用 new 直接实例化对象则会加深耦合度,如果使用工厂解耦合的话,如果一个项目中的 接口过多,则会造成工厂过大,维护并不方便,而且修改子类的时候也需要修改工厂。 设计原则: 高层模块不应该依赖于底层模块,二者都应该依赖于抽象 抽象不应该依赖于细节,细节应该依赖于抽象 依赖于抽象的具体方式 1、任何变量都不应该持有一个指向具体类的指针或者引用 2、任何类都不应该从具体的类派生 3、任何方

13、法都不应该覆写它的任何基类中的已经实现了的方法 Spring 的组成模块是非常多的,而且本身在设计的时候就相当于把大部分的开源项目完全 的整合在了一起。 Spring 管理 ORM 是整个 Spring 的一个重点,它会负责事务的处理、数据库的打开与关闭。 Spring 本身完全是针对于接口的编程,如果要想使用 Spring 接口是必不可少的。 使用 MyEclipse 进行 Spring 的开发。 表示定义 Spring 的核心配置文件,文件名称一般都默认为:applicationContext.xml,此名 称可以修改,但是不建议这样使用。 例如:定义以下的一个接口: package or

14、g.lxh.simple; public interface Hello public String sayHello() ; 有接口之后应该定义子类,子类要实现此接口 例如:定义接口的子类 得到大写的内容 package org.lxh.simple.impl; import org.lxh.simple.Hello; public class HelloUpperImpl implements Hello public String sayHello() return “HELLO WORLD!“; 例如:定义接口的子类 得到小写的内容 package org.lxh.simple.imp

15、l; import org.lxh.simple.Hello; public class HelloLowerImpl implements Hello public String sayHello() return “hello world!“; 如果按照之前的做法,此时应该定义的是一个工厂类,但是现在有了 Spring 之后不用再单 独定义工厂类了, 所有的内容通过 Spring 的配置文件 applicationContext.xml 进行统一 的管理。 此 bean 是一个抽象的是不能被实例化的 此 bean 的父类或父接口是那一个 bean(要求必须在文件中存在) 以上的程序代码通过配置文件完成之后,以后在程序中就不再需要 new 关键字实例化,而 是通过 Spring 自动进行实例化操作。 范例:测试程序 Test.java 测试的过程中所有的 bean 的实例都要求从 Spring 的配置文件中找到。 package org.lxh.simple.test; import org.lxh.simple.Hello; import org.springframework.context.ApplicationContext; import org.springframework.context.support.Class

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号