目标:
简化企业级应用开发。
定义:
Spring是一个轻量级的DI和AOP容器框架。
定义描述:
1. 轻量级
:从大小和处理应用开支上来说,Spring都算是轻量级的;而且Spring是非侵入式的,基于Spring开发的应用中 的对象一般不依赖于Spring的类。
2. DI(依赖注入)
:Spring提供一种松耦合的技术,称为依赖注入(DI)。使用DI,对象不是从容器中主动去查找它的依赖类,而是容器在实例化对象的时候主动将它的依赖类注入给它。
3. AOP(面向切面)
:Spring对面向切面编程提供了强大支持,同各国将业务逻辑从应用服务中分离出来,实现了内聚开发。应用对象只做他们该做的业务逻辑,不关系其他系统问题(如日志、事务支持等)。
4. 容器
:Spring是一个容器,它包含并且管理应用对象的生命周期和配置。
5. 框架
:Spring实现了使用简单的组建配置组合成一个复杂的应用。Spring将应用中的对象通过XML文件配置组合起来,并且提供了很对基础功能,使得开发人员能够更专注于开发应用逻辑。
模块:
Spring框架由七大模块组成,这些模块提供了开发企业级应用所需要的一切。但你并不比将应用完全建立在Spring框架之上,可自由选择使用。如下图:
模块描述:
1.
CORE
:封装包是框架的最基础部分,提供IoC和依赖注入特性。这里的基础概念是BeanFactory
,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。
2. Context(上下文)
:
封装包构筑于CORE
封装包的坚固基础上:它提供了用一种框架风格的方式来访问对象,有些像JNDI注册表。Context封装包继承了beans包的功能,还增加了国际化(I18N)(用于规范resource
bundle),事件传播,资源装载,以及透明创建上下文,例如通过servlet容器。
3. DAO
:
提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。
并且,JDBC封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)
都适用。
4. ORM
:封装包提供了常用的“对象/关系”映射APIs的集成层。 其中包括JPA、JDO、Hibernate和iBatis等。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如前边提到的简单声明性事务管理。
5. AOP
:Spring的AOP封装包提供了符合AOP Alliance规范的面向方面的编程(aspect-oriented programming)实现,让你可以定义,例如方法拦截器(method-interceptors)和切点(pointcuts),从逻辑上讲,从而减弱代码的功能耦合,清晰的被分离开。而且,利用source-level的元数据功能,还可以将各种行为信息合并到你的代码中,这有点象.Net的attribute的概念。
6. WEB
:Spring中的Web包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet listeners进行IoC容器初始化和针对Web的application
context。当与WebWork或Struts一起使用Spring时,这个包使Spring可与其他框架结合。
7. MVC
:Spring中的MVC封装包提供了Web应用的Model-View-Controller(MVC)实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种 清晰的
分离模型,在领域模型代码和web
form之间。并且,还可以借助Spring框架的其他特性。
分享到:
相关推荐
Spring系列第1篇:为何要学spring?Spring系列第2篇:控制反转(IoC)与依赖注入(DI)。Spring系列第3篇:Spring容器基本使用及原理。Spring系列第4篇:xml中bean定义详解(-)Spring系列第5篇:创建bean实例这些方式...
SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点或者说技能点且都有对应的博客介绍,代码开箱即用适合新手学习或老司机复习。 SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点...
Spring Boot干货系列,分享学习中整理的一些笔记和源码 博文对应源码 Spring boot干货系列:(一)优雅的入门篇:chapter1 Spring Boot干货系列:(二)配置文件解析:chapter2 Spring Boot干货系列:(三)启动原理...
spring-samples:spring系列框架学习案例
详细介绍Spring技术的实现及学习笔记
资源简介:SSM Java 项目集合 一、概述 在这个平台上,我们为大家带来了一系列的 JavaSSM(Spring + SpringMVC + MyBatis)项目。这些项目旨在展示SSM框架在实际应用中的魅力,同时也为开发者提供了一个快速学习和...
该仓库为个人博客中Spring系列源码,包含Spring Boot,Spring Boot&Shiro,Spring Cloud,Spring Boot&Spring Security&Spring Security OAuth2,如果该系列教程对您有帮助的话,还请点个星星给予精神支持!...
Spring学习笔记系列之三
文件内附有学习源码及“四万多字的学习笔记”,本学习笔记中涵盖了,Spring中所学的全部知识点,以及还有一些小的知识点。(笔记很详细,笔记很详细。属于本人舍得删系列)。
Spring Boot学习系列.zip
死磕spring源码系列-SpringAop十分钟快速入门
本资源是一篇关于学习和应用SSM框架(Spring、SpringMVC、MyBatis)的学习记录系列文章中的第六天内容,主题为初识Spring框架。 在这一部分中,你将了解到Spring框架的基本概念和使用方法,并通过实例探讨了Spring ...
学习系列: - [springcloud(一):大话Spring Cloud](http://www.ityouknow.com/springcloud/2017/05/01/simple-springcloud.html) - [springcloud(二):注册中心Eureka]...
总体来说,Spring框架和Spring项目系列通常简称为“ Spring”。 Spring提供了Java编程语言以外的所有所需内容,可用于为各种场景和体系结构创建企业应用程序。请阅读部分作为参考,以获取更完整的介绍。 行为守则 ...
跟我学Spring,Spring3学习资料,讲的还是很详细的,适合新手看
spring学习教程-把代码写成诗系列微服务服务治理服务中心服务提供、服务消费、熔断器、网关等.zip spring学习教程-把代码写成诗系列微服务服务治理服务中心服务提供、服务消费、熔断器、网关等.zip spring学习教程-...
死磕spring源码系列-深度解析spring_aop
相关概念Route(路由):路由是构建网关的基本模块,它由ID,目标URI,一系列的断言和过滤器组成,如果断言为true则匹配该路由;Filter(过滤器):指