闲言碎语-逐步了解Spring.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:400-050-0739(电话支持时间:9:00-19:00)。
闲闲言言碎碎语语-逐逐步步了了解解Spring WHY 在诞生之初,创建Spring 的主要目的是用来替代更加重量级的企 级Java技术,尤其是EJB。相对于EJB来说,Spring提供了更加 轻量级和简单的编程模型。 WHAT Spring是一个开源框架,最早由RodJohnson创建,Spring是为了解决企 级应用开发的复杂性而创建的,使用Spring可以让简 单的JavaBean实现之前只有EJB才能完成的事情。Spring不仅仅限于服务端的开发,任何Java应用都能在简单性、可测试性和松 耦合等方面从Spring 中获益。 如今Spring在移动开发、社交A PI集成、NoSQL数据库、云计算及大数据方面都在涉足。随着时间的推移EJB也采用了依赖注入( DependencyInj ection,DI)和面向切面编程(A spect- rientedProgramming ,A P)的理念。总之,Spring最根本的使命就是简化J ava开发 HOW 为了降低Java开发的复杂性,Spring采取了4钟关键策略 基于P J 的轻量级和最小侵入性编程通过依赖注入和面向接口实现松耦合 基于切面和惯例进行声明式编程通过切面和模板减少样式代码 POJO潜潜能能 很多框架通过强迫应用继承它们的类或实现它们的接口从而导致应用与框架绑定在一起,这就是侵入性编程,导致无法复用代码 块。Spring竭力避免因自身的A PI而弄乱你的应用代码,在基于Spring构建的应用程序中,他的类通常没有任何痕迹表明你使用 了Spring public class HelloWorldBean { public String sayHello(){ return "Hello World"; } } 以上的实例代码表示一个很简单普通的Java类(P J ),你看不出来他是一个Spring组件,Spring 的非侵入式编程体现在这个类在 Spring应用和非Spring应用中都可以发挥作用。仅仅这么一段代码并没有能实际体现Spring功能,还需要后面的知识。 依赖注入(将自身依赖的类注入的自身) 依赖注入这个此在Spring 中并不是这么高大上,尽管现在已经演变成一项复杂的编程技巧或者设计模式理念。在Spring 中可以这 么理解,注入依赖。一个具有实际意义的应用都需要多个类进行相互协作来完成特定的 务逻辑。传统的做法是每个对象负责管 理与自己有关的对象(这个有关的对象就是Spring 中表述的所依赖的对象)的引用,不过这将会导致高度耦合和代码难以测试 考虑如下代码 /**这个拗口的类名是作者为了拟合一个模拟的场景特地取名 * 这个类表示营救少女的骑士 * Created by Wung on 2 16/8/25. */ public class DamselRescuingKnight implements Knight{ private RescueDamselQuest quest; /** * 在它的构造函数中自行创建了RescueDamselQuest * 这使得DamselRescuingKnight和在它的构造函数中自行创建了RescueDamselQuest耦合在了一起 */ public DamselRescuingKnight(){ this.quest = new RescueDamselQuest(); } public void embarkOnQuest(){ quest.embark(); } } 耦合具有两面性,一方面,紧密耦合的代码难以测试难以复用难以理解,并且会出现"打地鼠"式的BUG 。另一方面,一定程度的 耦合又是必要的,不同的类必须以适当的方式进行交互。 问题出现了,那么Spring是如何解决的呢 在Spring 中,通过依赖注入(DI),对象之间的依赖关系由系统中负责协调各对象的第三方组件在创建对象的时候进行设定。也就 是说对象只需要管理自己内部的属性而无需自行创建或者管理它们的依赖关系,依赖关系会被自动注入到需要它们的对象当中去 。 /** * 这个骑士可以执行各种冒险任务而不在仅仅

文档评论(0)

sfdg4
这是本人近期收集的一些关于计算机的文档,相信程序员朋友特别熟悉,而且上传的时候也是根据语言上传的,全是一些实用的技巧。

相关文档

相关课程推荐