Java主流框架入门导引5-spring.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java主流框架入门导引5-spring

Contents 控制反转(IoC)与依赖注入(DI) 1 Spring是什么?为什么? 2 Spring快速上手 3 DAO及Spring与iBatis的整合 4 DAO设计模式 什么是DAO Data Access Object(数据访问对象) 最重要的核心J2EE模式之一 为什么需要DAO 屏蔽业务逻辑对数据持久化的依赖 一定需要DAO吗 如果业务逻辑比较简单(比如只有简单的数据存取操作),完全可以取消DAO 是否需要DAO,完全取决于业务需求,没有固定的说法 什么是DAO 为了建立一个健壮的j2ee应用,应该将所有对数据源的访问操作抽象封装在一个公共api中。 用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。 从例子看DAO 实例:编写DAO接口 Spring与iBatis的整合 编写DAO的实现 public class UserDaoImpl extends SqlSessionDaoSupport implements IUserDao this.getSqlSession().selectList(“ .fzu.entity.User.getAllUser); 如何访问DAO ApplicationContext ctx = new ClassPathXmlApplicationContext( applicationContext.xml); IUserDao dao = (IUserDao)ctx.getBean(userDao); dao.queryAll() Java 主流框架入门实践 修改或繼承 BusinessObject 進行擴展 * * LOGO Java主流框架入门实践 第五节: 业务逻辑的胶水-Spring 冬天来了,春天还会远吗? Contents 控制反转(IoC)与依赖注入(DI) 1 Spring是什么?为什么? 2 Spring快速上手 3 DAO及Spring与iBatis的整合 4 发现问题 #include floppy.h .... void save() { ??????? .... ??????? saveToFloppy() ??? } } 由于save()程序依赖于依赖于saveToFloppy(),如果今天要更换低层的存储模块为U盘,则这个程序没有办法重用,必须加以修改才行. 低层模块的修改造成了高层模块也必须跟着更动,这不是一个好的设计方式,在设计上希望模块都依赖于模块的抽象,这样才可以重用高层的业务设计。 saveToUsb() 思考如何解决 – 采用OO方法 public class BusinessObject { ??? private FloppyWriter writer = new FloppyWriter(); ??? .... ??? ??? public void save() { ??????? ... ??????? writer.saveToFloppy(); ??? } } OO的设计哲学 正如牛顿三大定律在经典力学中的位置一样,“开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石 开闭原则的定义:一个软件实体应当对扩展开放,对修改关闭( Software entities should be open for extension,but closed for modification.)。即在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。 开闭原则的优点 通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统有一定的适应性和灵活性。 已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的软件系统有一定的稳定性和延续性。 这样的系统同时满足了可复用性与可维护性。 如何实现开闭原则 在面向对象设计中,不允许更改的是系统的抽象层,而允许扩展的是系统的实现层。换言之,定义一个一劳永逸的抽象设计层,允许尽可能多的行为在实现层被实现。 解决问题关键在于抽象化,抽象化是面向对象设计的第一个核心本质。 对一个事物抽象化,实质上是在概括归纳总结它的本质。抽象让我们抓住最最重要的东西,从更高一层去思考。这降低了思考的复杂度,我们不用同时考虑那么多的东西。换言之,我们封装了事物的本质,看不到任何细节。 如何实现开闭原则 在面向对象编程中,通过抽象类及接口,规定了具体类的特

文档评论(0)

haodoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档