目标:
简化企业级应用开发。
定义:
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框架的标签“Spring”则涵盖了它一系列产品和模块,它不仅仅是一个框架,而是一个庞大的生态系统,包括Spring Boot用于简化Spring应用的初始搭建以及开发过程,Spring Cloud提供了在分布式系统(如云环境)中...
- Spring Cloud:用于构建云原生应用的一系列框架,包含服务发现、配置管理、消息总线等。 由于这本书的版本较为老旧,因此提及的一些技术细节和最佳实践可能已经有所变化,但总体上Spring的设计思想和核心架构原理...
对于微服务架构,Spring Cloud提供了服务发现、负载均衡、配置中心等一系列解决方案。书中可能会涉及如何使用Eureka、Zuul、Ribbon等组件构建微服务生态。 9. **测试**: Spring提供了强大的测试支持,包括单元...
Spring框架的广泛使用得益于其轻量级、非侵入式的设计,以及提供的一系列企业服务,如声明式事务管理、消息服务等。这些服务支持企业应用开发中的关键需求,使得开发者能够专注于业务逻辑的实现,而不必担心基础设施...
### 学习笔记:尚硅谷Spring6基础篇 #### 一、Spring框架概述 ##### 1.1 Spring是什么? Spring是一款主流的Java EE轻量级开源框架,由“Spring之父”Rod Johnson提出并创立。Spring的主要目标是简化Java企业级...
Spring系列第1篇:为何要学spring?Spring系列第2篇:控制反转(IoC)与依赖注入(DI)。Spring系列第3篇:Spring容器基本使用及原理。Spring系列第4篇:xml中bean定义详解(-)Spring系列第5篇:创建bean实例这些方式...
根据提供的标题和描述,我们可以深入探讨Spring框架的核心架构与设计原理。...对于希望深入了解Spring架构与设计原理的学习者来说,《SPRING技术内幕:深入解析SPRING架构与设计原理》这本书是一个非常宝贵的资源。
SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点或者说技能点且都有对应的博客介绍,代码开箱即用适合新手学习或老司机复习。 SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点...
- 开发者只需要定义继承自 `JpaRepository` 或其子接口的接口,即可获得一系列基本的 CRUD 操作方法。这些接口可以通过 `@Repository` 注解标记,以便于 Spring 自动识别并实例化。 4. **配置 Spring 的事务管理**...
1. **自动配置**:Spring Boot 提供了一系列的自动配置选项,这意味着开发者无需编写大量的配置代码,框架会根据项目的依赖自动配置所需的组件和服务。这种机制大大简化了项目的搭建过程,并减少了出错的可能性。 2...
本资源集合围绕"spring学习.zip",提供了多本深入讲解Spring及其相关技术的电子书籍,旨在帮助读者深入理解和掌握Spring生态。 1. **《深入实践Spring Boot.陈韶健.pdf》**:这本书详细介绍了Spring Boot,它是...
这个面试专题系列涵盖了三个关键的技术框架:Dubbo、Spring Boot和Spring Cloud,这些都是构建微服务架构的核心组件。以下是对这些技术的详细解读: 1. **Dubbo**:由阿里巴巴开源的高性能Java RPC框架,它为服务...
为了有效地利用Spring,开发者需要了解IoC和AOP的基本概念,学习如何编写Spring配置文件,理解MVC工作原理,以及如何进行数据访问和事务管理。同时,掌握Spring Boot可以进一步简化Spring应用的开发流程,因为它自动...
Spring Boot干货系列,分享学习中整理的一些笔记和源码 博文对应源码 Spring boot干货系列:(一)优雅的入门篇:chapter1 Spring Boot干货系列:(二)配置文件解析:chapter2 Spring Boot干货系列:(三)启动原理...
这些库文件是构建基于Spring 4.0.5的应用所必需的,它们提供了解析配置、管理Bean、执行AOP切面、处理Web请求等一系列功能。开发者可以根据项目需求,选择合适的库进行引用。 总之,Spring 4.0.5是一个强大且全面的...