`
killazy
  • 浏览: 31686 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

快速理解Spring

    博客分类:
  • J2EE
阅读更多

Spring所倡导的开发方式就是如此,所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。如果你还不明白的话,我决定放弃。

几个例子:
·有点像通过婚介找女朋友,在我和女朋友之间引入了一个第三者:婚姻介绍所。婚介管理了很多男男女女的资料,我可以向婚介提出一个列表,告诉它我想找个什么样的女朋友,比如长得像李嘉欣,身材像林熙雷,唱歌像周杰伦,速度像卡洛斯,技术像齐达内之类的,然后婚介就会按照我们的要求,提供一个mm,我们只需要去和她谈恋爱、结婚就行了。简单明了,如果婚介给我们的人选不符合要求,我们就会抛出异常。整个过程不再由我自己控制,而是有婚介这样一个类似容器的机构来控制。


·笔记本电脑与外围存储设备通过预先指定的一个接口(USB)相连,对于笔记本而言,只是将用户指定的数据发送到USB接口,而这些数据何去何从,则由当前接入的USB设备决定。在USB设备加载之前,笔记本不可能预料用户将在USB接口上接入何种设备,只有USB设备接入之后,这种设备之间的依赖关系才开始形成。
对应上面关于依赖注入机制的描述,在运行时(系统开机,USB 设备加载)由容器(运行在笔记本中的Windows操作系统)将依赖关系(笔记本依赖USB设备进行数据存取)注入到组件中(Windows文件访问组件)。这就是依赖注入模式在现实世界中的一个版本。


·如何解决:一个人(Java实例,调用者)需要一把斧子(Java实例,被调用者)。
  (1)原始社会里,几乎没有社会分工。需要斧子的人(调用者)只能自己去磨一把斧子(被调用者)。对应的情形为:Java程序里的调用者自己创建被调用者。
  (2)进入工业社会,工厂出现。斧子不再由普通人完成,而在工厂里被生产出来,此时需要斧子的人(调用者)找到工厂,购买斧子,无须关心斧子的制造过程。对应Java程序的简单工厂的设计模式。
  (3)进入“按需分配”社会,需要斧子的人不需要找到工厂,坐在家里发出一个简单指令:需要斧子。斧子就自然出现在他面前。对应Spring的依赖注入。

分享到:
评论

相关推荐

    Spring+Mvc手写基本源码+思维导图,快速理解spring+mvc原理

    Spring+Mvc手写基本源码+思想流程图,快速理解spring+mvc原理。可根据流程图来自己写一个源码框架

    快速理解spring中的各种注解

    主要介绍了快速理解spring中的各种注解,具有一定借鉴价值,需要的朋友可以了解下。

    springJdbcDemo11_java_springjdbc_

    spring集成JDBC 入门源码,快速上手,快速理解spring

    spring+struts2+ibats整合流程原理

    帮你快速理解spring+struts2+ibats的整合流程原理

    Spring基础与快速入门

    其次针对框架而言,由于业务逻辑中没有Spring的API,所以业务逻辑也可以从Spring框架快速的移植到其他框架。 2 容器:Spring提供容器功能,容器可以管理对象的生命周期,对象与对象之间的依赖关系。你可以写一个...

    spring-boot中文教程

    Spring Boot中文文档提供了详细的中文翻译和说明,包括了基本概念、使用方法、配置参数、代码示例等,可以帮助用户快速上手和深入理解Spring Boot的使用。该文档还提供了丰富的链接和参考资料,方便用户深入学习和...

    Java进阶教程数据层全栈方案SpringData高级应用视频教程

    2.SpringData JPA快速入门 3.SpringData Jpa运行原理分析 第四章 SpringData JPA的多种查询方式 1.父接口方法查询 2.方法命名规则查询 3.JPQL查询 4.本地SQL查询 5.Specifications动态查询 第五章 SpringData JPA...

    Spring Cloud + Spring Boot 项目的搭建

    Spring Cloud + Spring Boot 项目的搭建,maven好相关的jar包就ok了,给各大学习的一个快速理解接触的,源码,后续会新增,互相学习。

    Spring教程合集.zip

    Spring教程合集.zip Spring开发指南 SpringGuide 在Spring中配置Hibernate事务 Struts+Spring+Hibernate开发实例 ...Struts+Spring+Hibernate快速入门 sping mvc 理解AOP,IOC,Spring Spring Framework最佳实践

    Spring3.X编程技术与应用,完整扫描版

     丁振凡编著的《Spring3.x编程技术与应用》按 循序渐进的原则对Spring3.x的主要知识及应用体系 进行了较为系统的介绍,回答了应用开发者 最为关心的一些话题,目的是帮助读者快速理解和运用相关知识。 《Spring3.x...

    从天气项目看Spring Cloud微服务治理

    从Spring Boot入手,从0到1快速搭建具备高并发能力、界面友好,业务便于理解的天气预报系统,而后剖析单块架构的利弊,从而引入微服务架构的概念,并从1到0实现微服务的拆分,最后引入Spring Cloud 技术来实现对这些...

    《精通Spring2.X企业应用开发详解》随书源码1-15章

    此外,我们还对Spring技术所涉及到的各种Java技术、Java设计模式进行了适时的介绍,通过这些背景知识的准备,读者在理解Spring的各项原理时将不会有任何的障碍。 =============================================...

    spring中文教程

    Spring是IOC为核心的,所以第一步就是要深刻理解IOC,最好是能尽快把IOC作为教条式的原则,虽然有些偏激,但有助于尽快理解,在你有了深刻的理解之后,你再看Spring就已经有个大概框架了,虽然IOC从定义来讲并不...

    spring boot 初学者实战总结.zip

    本资源提供了一个全面的实战总结,包括项目搭建、基本配置、RESTful API 开发、数据库操作、安全性配置等多个方面,帮助初学者全面理解和应用 Spring Boot。 #### 主要特性 1. **快速项目搭建**: - **Spring ...

    Spring Boot核心技术-笔记整理

    无论是初学者还是有一定经验的开发者,都可以通过这份资源加深对Spring Boot的理解和应用。 使用场景及目标: 对于Java开发人员和软件工程师:通过学习Spring Boot核心技术,能够快速掌握Spring Boot的开发流程、...

    Spring Boot应用开发框架项目旨在简化创建产品级的Spring应用和服务.rar

    我们将使用一个实际的示例,帮助你更好地理解和应用Spring Boot。 1. 什么是Spring Boot? Spring Boot是一个简化Spring应用程序开发的框架,它可以让开发者快速构建和部署生产级的Spring应用。Spring Boot的核心...

    javaSpring学习笔记

    这份学习笔记提供了详细而系统的教程和实践指南,帮助初学者快速入门,并带领已经有一定经验的开发者深入理解和应用Spring框架的各种功能和特性。 在“Java Spring学习笔记”中,你将找到对Spring框架的全面介绍,...

    超详细的SpringBoot框架入门教程 Spring Boot框架快速入门教程以大量示例讲解了Spring Boot在各类情境

    Spring Boot框架快速入门教程以大量示例讲解了Spring Boot在各类情境中的应用,让大家可以跟着老师的思维和代码快速理解并掌握。适用于Java 开发人员,尤其是初学Spring Boot的人员和需要从传统 Spring 转向 Spring ...

    Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式.zip

    对于很多开发者来说,入门即是其对某个技术栈的最终理解,一方面是开发者“比较懒”,另一方面是文章作者把 Spring Boot 入门写的太浅,又或者不够全面。 因此,开始了这个 Spring Boot 专栏,一个深度且全面的 ...

    Spring基础教程 (PDF格式)&& Spring in action

    Spring基础教程 (PDF格式)&& Spring in action 学习Spring的好资料, 包括Spring in aciont 源码 帮助大家快速理解掌握Spring技术

Global site tag (gtag.js) - Google Analytics