入门 01 - 简介 Spring
Spring是轻量级的J2EE应用程序框架。
Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spring的目标是实现一个全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代,Spring希望提供one-stop shop的框架整合方案
Spring不会特别去提出一些子框架来与现有的OpenSource框架竞争,除非它觉得所提出的框架够新够好,例如Spring有自己的 MVC框架方案,因为它觉得现有的MVC方案有很多可以改进的地方,但它不强迫您使用它提供的方案,您可以选用您所希望的框架来取代其子框架,例如您仍可以在Spring中整合您的Struts框架。
Spring的核心概念是IoC,IoC的抽象概念是「依赖关系的转移」,像是「高层模块不应该依赖低层模块,而是模块都必须依赖于抽象」是IoC的一 种表现,「实现必须依赖抽象,而不是抽象依赖实现」也是IoC的一种表现,「应用程序不应依赖于容器,而是容器服务于应用程序」也是IoC的一种表现。
IoC的概念与三种DI(Dependency Injection)类型在Martin Fowler的Inversion of Control Containers and the Dependency Injection pattern中得到清楚的阐释,您可以先在以下的网址中了解IoC与DI的详细说明:
http://www.martinfowler.com/articles/injection.html
您也可以先看看这些文章,了解一下Dependency Inversion:
http://www.objectmentor.com/publications/dip.pdf
Spring的核心即是个IoC/DI的容器,它可以帮程序设计人员完成组件(类别们)之间的依赖关系注入(连结),使得组件(类别们)之间的依赖达到 最小,进而提高组件的重用性,Spring是个低侵入性(invasive)的框架,Spring中的组件并不会意识到它正置身于Spring中,这使得组件可以轻易的从框架中脱离,而几乎不用任何的修改,反过来说,组件也可以简单的方式加入至框架中,使得组件甚至框架的整合变得容易。
Spring最为人重视的另一方面是支持AOP(Aspect-Oriented Programming),然而AOP框架只是Spring支持的一个子框架,说Spring框架是AOP框架并不是一件适当的描述,人们对于新奇的 AOP关注映射至Spring上,使得人们对于Spring的关注集中在它的AOP框架上,虽然有所误解,但也突显了Spring的另一个令人关注的特 色。
Spring也提供MVC Web框架的解决方案,但您也可以将自己所熟悉的MVC Web框架与Spring解合,像是Struts、Webwork等等,都可以与Spring整合而成为适用于自己的解决方案。
Spring也提供其它方面的整合,像是持久层的整合如JDBC、O/R Mapping工具(Hibernate、iBATIS)、事务处理等等,Spring作了对多方面整合的努力,故说Spring是个全方位的应用程序框架。
想要入门Spring,对于IoC/D I的了解是必要的,上面的两个网址是个好的开始,另外您也可以先看看「Spring开发指南」:
http://www.xiaxin.net/Spring_Dev_Guide.rar
如果您想了解Spring的整体观念,可以看看Expert One on one J2EE Development Without EJB这本书,Spring的前身是由该作者的前一本书Expert One on one J2EE Design and Development中的一个实际程序开始,Spring本身是J2EE的一个轻量级容器解决方案,从这本书了解J2EE程序设计的考量也是个不错的基础建构方式。
当然,如果您时间有限,想直接了解Spring,可以从这篇文章开始:
http://javaboutique.internet.com/tutorials/spring_frame/
对于Expert One on one J2EE Development Without EJB这本书,如果您想了解Spring,可以看chapter 7、chapter 13。
其它的参考文章,可以看看这个分区的「Spring」资料中的连结。
分享到:
相关推荐
Spring 简介 Spring 简介
Licence GitHub Release 简介 Spring Boot API Project Seed
一篇很好的springCloud学习的思维导读,...SpringCloud Alibaba入门简介 SpringCloud Alibaba Nacos 服务注册和配置中心 SpringCloud Alibaba Sentinel 实现熔断与限流 SpringCloud Alibaba Seata 处理分布式事务
Spring 相关jar包简介Spring 相关jar包简介Spring 相关jar包简介
简介 Spring Security是什么? 历史 发布版本号 Getting Spring Security Spring Security 4.1新特性 Java 配置提升 Web应用程序安全性提升 授权改进 密码模块的改进 测试的改进 一般的改进 样品和指南 (Start Here) ...
简介 Spring Inversion of Control Dependency Injection <br> 核心容器 Spring 核心容器实作了 IoC,BeanFactory 与 ApplicationContext 的运用是了解 Spring 的重点所在。 管理 Bean...
1、课程简介 Spring框架是一系列应用框架的核心,也可以说是整合其他应用框架的基座。同时还是SpringBoot的基础。在当下的市场开发环境中,Spring占据的地位是非常高的,基本已经成为了开发者绕不过去的框架了。它...
Spring Cloud简介 Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud0 CloudFoundry、Spring Cloud AWS、Spring Cloud ...
Spring Cloud之一 Spring Cloud简介,简单介绍SpringCloud,微服务,SOAP等内容
简介 Spring Boot API项目Seed是一个基于Spring Boot&MyBatis的种子项目,用于快速构建中小型API,RESTful API项目,该种子项目已经有过多个真实项目的实践,稳定,简单,快速,使我们成为现实那些重复劳动,专注于...
Spring简介 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 为了解决企业应用开发的复杂性而创建 二 Spring功能 1. 方便解耦 简化开发 Spring就是一个大工厂 专门负责生成Bean 可以将所有对象创建和...
Spring MVC 框架简介 Spring Web model-view-controller (MVC)框架是围绕 DispatcherServlet 设计的,并分发请求到处理程序(handler),Spring MVC支持可配置的处理程序映射(handler mapping),视图解析(view ...
spring framework 简介
Spring主要项目,从配置到安全,从Web应用到大数据 - 无论您的应用程序需要什么样的基础架构,都有一个Spring项目可以帮助您构建它。从小处着手,只使用你需要的东西 - Spring是模块化的设计。 Spring指南 无论您...
Spring Data简介
spring框架简介:介绍sprng发展历程、优势、体系结构、概述
不错的文档,需要了解Spring的可以看下
初学spring者的福音。 spring简介 spring应用 spring整合hibernate spring整合struts
搜集的一些关于java SSH 和Spring 框架的简介,初步接触和了解这些框架知识。 S:Spring S:Struts2 H:Hibernate
Spring-batch简介.pdf Spring-batch简介.pdf Spring-batch简介.pdf