Spring 的核心是个轻量级(Lightweight)的容器(Container),它是实现IoC(Inversion of Control)容器、非侵入性(No
intrusive)的框架,并提供AOP(Aspect-oriented programming)概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVC
Web 框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架(Application framework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate 等),Spring 也提供了与它们相整合的方案。
本质上讲,Spring是IOC(Inversion of Control)和面向切面编程(AOP)的组合体。它是一个非侵入式的框架,增强了POJO的功能。从服务上讲(With a service abstraction),它将程序代码从J2EE环境解耦到普通的java对象(自然,这些代码可以脱离J2EE而在多种环境中运行)。它还在很多功能上提供了除EJB之外的选择――比如为所有的POJO提供声明式事务。Spring被广泛运用到很多项目中,从小的web程序到大的企业应用程序。
Spring 框架的核心基于“控制反转(Inversionof Control,IoC)”原理。IoC是一种将组件依赖关系的创建和管理置于程序外部的技术。假设一个例子,类Foo 依赖于类Bar 的一个实例来进行某些操作。传统的方式,Foo 使用new 操作符创建一个Bar 的实例,或者通过某种工厂类来获得。使用IoC 方法,Bar 的一个实例(或者其子类的实例)是通过某些外部处理过程在运行时动态传递给Foo 的。这种在运行时注入依赖的行为方式,使得IoC 后来被改称为另一个含义更明确的名字:“依赖注入(Dependency
Injection ,DI)”。
Spring 的DI 实现是基于两个Java 核心概念:JavaBean 和Interface。当你使用DI 的时候,你可以使得依赖配置与你的代码保持隔离。JavaBeans 提供了一种创建Java 资源的标准方法,并且这些资源是可以通过标准方式配置的。
面向切面编程
AOP 提供了实现横切逻辑的功能——这一逻辑应用于你应用程序的很多地方,只需要编写一次,就可以把这一逻辑自动在整个应用中实施目前有两种主流的AOP实现。静态AOP,比如AspectJ(www.apsectj.org),提供了编译器的方法来构建基于AOP的逻辑,并把它加入到应用程序中。动态AOP,比如Spring中的这样,允许在运行时把横切逻辑应用到任意一段代码中。两种不同的AOP方法都有其适用面,实际上,AOP提供了与AspectJ整合的功能。
依赖注入分为三种,设值方法注入、构造器注入和接口注入。Spring支持前两种。
分享到:
相关推荐
spring学习资料大全spring学习资料大全spring学习资料大全spring学习资料大全spring学习资料大全spring学习资料大全spring学习资料大全spring学习资料大全
spring学习,通过搭建基本的工程,从中学习spring的原理
本人spring学习笔记资源文档,感兴趣可下载
spring学习笔记
spring系统学习,解读spring,源码解读 spring系统学习,解读spring,源码解读 spring系统学习,解读spring,源码解读
Spring学习资料文档合集,包含 spring2.0-reference_RC2.1_zh_cn spring_reference_inchinese_m2 SpringGuide Spring基础教程 spring框架,技术详解及使用指导
spring 学习指南 提供了很多有用的技术资料供大家学习使用
spring学习文档 适合新手
Spring学习思维导图Spring学习思维导图Spring学习思维导图Spring学习思维导图Spring学习思维导图Spring学习思维导图Spring学习思维导图Spring学习思维导图Spring学习思维导图Spring学习思维导图Spring学习思维导图...
Spring学习笔记.xmind
Spring 学习手册Spring 学习手册Spring 学习手册
跟我学spring3,很不错的spring学习资料,值得大家收藏
spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记
spring学习遇到的问题,可以再博客中看到里面的内容,再决定是否下载。
spring 学习总结
spring学习事务源码spring学习事务源码spring学习事务源码spring学习事务源码spring学习事务源码spring学习事务源码spring学习事务源码spring学习事务源码
“Java Spring学习笔记”是一份宝贵的资源,专门为想要学习和掌握Java Spring框架的开发者而设计。这份学习笔记提供了详细而系统的教程和实践指南,帮助初学者快速入门,并带领已经有一定经验的开发者深入理解和应用...
Spring学习总结文档,帮助快速入门。
Spring学习笔记( spring视频笔记)