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

快速理解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源码的过程可以帮助我们深入理解其内部机制。这包括: - **DispatcherServlet的初始化**:配置Servlet的init()方法,初始化Spring容器和其他关键组件。 - **处理器映射器的实现**:自定义逻辑,根据...

    mini-spring是简化版的spring框架,能帮助你快速熟悉spring源码和掌握spring的核心原理.zip

    它旨在帮助开发者快速理解Spring框架的核心概念和工作原理,为深入研究Spring源码提供了良好的起点。在企业级应用开发中,Spring以其强大的功能、高度的灵活性和广泛的社区支持,成为了Java开发者的首选框架之一。 ...

    spring MVC_快速入门

    这个“spring MVC_快速入门”文档可能涵盖了以上部分或全部内容,旨在帮助初学者快速理解Spring MVC的工作原理和基本用法。通过学习,开发者可以快速搭建起一个功能完善的Web应用,并逐步深入到更高级的特性,如AOP...

    MyEclipse Spring 快速入门.zip

    - 通过阅读和运行这些示例,初学者可以快速理解Spring框架的工作原理。 总结:"MyEclipse Spring 快速入门.zip"是一个适合初学者的教程资源,通过它,你可以学习如何在MyEclipse中配置和使用Spring框架,包括...

    spring4.2.0官方文档

    1. **简介**:这部分简要介绍了Spring框架的基本概念、设计理念和核心模块,帮助初学者快速理解Spring的核心价值。 2. **快速入门**:提供了快速上手的教程,指导如何创建第一个Spring项目,包括配置环境、编写代码...

    spring+mybatis。非常简单

    这个实例对于初学者来说是一个很好的起点,可以帮助他们快速理解Spring与MyBatis的集成,并实际操作数据库。对于有一定经验的开发者,它可以作为一个快速原型或测试环境,以验证特定的数据库操作或集成策略。

    Spring帮助文档(包含中文版和英文版)

    中文版文档对于国内开发者来说非常友好,它能够帮助初学者快速理解Spring框架的核心概念,如依赖注入、bean管理、事务管理等。文档通常会详细介绍如何配置Spring容器,创建和管理bean,以及如何利用AOP进行切面编程...

    一步步深入理解Spring内部原理-带源码

    为了深入理解Spring的内部原理,我们可以从以下几个关键知识点入手。 1. **依赖注入(Dependency Injection, DI)**:这是Spring的核心特性之一,允许对象之间的依赖关系在运行时被外部容器管理,而不是由对象自身...

    Spring-Boot-Demo.zip

    这个项目可能是为了帮助开发者快速理解Spring Boot的核心概念和功能,以及如何开始构建自己的应用。 首先,Spring Boot 应用的基础是其 starter POMs(依赖管理)。这些starter POMs允许开发者通过添加特定的依赖来...

    《深入理解Spring Cloud与微服务构建》word版本

    《深入理解Spring Cloud与微服务构建》是一本专注于讲解如何使用Spring Cloud构建高效、可靠的微服务系统的书籍。Spring Cloud作为目前最流行的微服务框架之一,它提供了大量的工具和服务,帮助开发者快速搭建分布式...

    spring-boot-base-master.zip_boot_spring boot_spring boot master_

    对于初学者来说,这是一个很好的起点,可以帮助他们快速理解Spring Boot的核心概念和工作方式。同时,对于有经验的开发者,这个项目也可能提供了一些最佳实践和模板,方便他们在新的项目中快速起步。

    快速理解spring中的各种注解

    通过了解Java的注解机制以及Spring框架如何利用这些机制,开发者可以更好地理解Spring的注解工作原理,并在实际项目中更高效地使用它们,提高代码的可维护性和灵活性。在实际开发中,掌握这些注解能帮助我们编写出...

    《深入理解Spring Cloud与微服务构建》学习笔记(八)

    在《深入理解Spring Cloud与微服务构建》的学习笔记中,第八部分主要聚焦于如何使用Eureka来实现服务注册和发现。以下是一些核心知识点: 1. **Eureka Server**: 这是Eureka的核心组件,作为一个服务注册中心,它...

    《Spring Boot企业级开发教程》黑马程序员著 人民邮电出版社

    PPT通常会以简洁明了的方式呈现关键概念和步骤,帮助读者快速理解Spring Boot的核心特性。可能涵盖的内容包括: 1. **Spring Boot入门**:介绍Spring Boot的背景、目标以及如何快速创建第一个Spring Boot项目。 2. ...

    深入理解Spring Cloud与微服务构建

    《深入理解Spring Cloud与微服务构建》是一本旨在帮助开发者深入了解和掌握Spring Cloud技术栈以及如何利用它来构建微服务架构的书籍。Spring Cloud作为一套完整的微服务解决方案,提供了包括服务发现、配置中心、...

    Spring_MVC.rar

    这个压缩包中的Spring_MVC项目,无疑是一个很好的学习资源,包含了完整的项目结构和注释,能帮助开发者快速理解Spring MVC的工作原理,并应用于实际项目中。通过深入研究源代码,可以学习到如何配置Spring MVC,如何...

    first spring boot

    这个项目可能是一个基础的入门教程,帮助开发者快速理解Spring Boot的核心特性以及如何在Eclipse环境中运行一个基本的Spring Boot应用。 在描述中提到的步骤是标准的Spring Boot应用开发流程的一部分: 1. **...

    spring 快速开发

    本文旨在通过详细解析一个具体的案例——“spring 快速开发”,来深入理解Spring如何帮助开发者快速构建高效、可维护的应用程序。 #### 一、Spring快速入门 Spring框架的核心价值在于其IOC(Inversion of Control...

    Spring 揭秘 全面 深入了解Spring

    《Spring 揭秘:全面深入了解Spring》是一本旨在帮助开发者深入理解并熟练掌握Spring框架的权威指南。...通过阅读这本书,你将能够深入理解Spring的内部机制,更好地利用Spring来构建高效、可扩展的企业级应用。

    Spring快速入门教程

    本快速入门教程将带你深入理解Spring的核心概念和基本用法。 1. **Spring框架概述** Spring框架是由Rod Johnson发起的,它是一个全面的后端开发解决方案,提供了众多模块,包括核心容器、数据访问/集成、Web、AOP...

Global site tag (gtag.js) - Google Analytics