Spring Framework 概述

Spring Framework是一个轻量级的企业级应用框架,以其模块化、非侵入性著称,提供AOP和IOC等功能。核心Container包含spring-core、beans、context等模块,提供Bean管理和上下文支持。AOP模块支持面向切面编程,增强代码可维护性。数据访问/集成模块涵盖了JDBC、ORM和JMS等。WEB模块包括MVC框架和WebSocket支持,TEST模块则提供了测试支持。

简介

官方一句话介绍:

The Spring Framework is a lightweight solution and a potential one-stop-shop for building your enterprise-ready applications.

Spring的特点:

  1. lightweight:相比较与EJB而言。
  2. modular:Spring Framework拆分成了20多个包,我们可以按需使用。
  3. non-intrusive:非侵入性的框架,降低对特定框架的依赖。对以后架构变迁有一定的好处。
  4. AOP及IOC:Spring曾经的招牌特性,通过AOP可以更好的实现一些通用功能(安全控制,日志等),提高代码的可维护性;而通过IOC可以动态的注入依赖对象,意味着我们可以动态替换依赖对象,间接引导大家“面对接口编程”,有利于实现代码“对修改关闭,对扩展开发”。

总体架构图

Spring 总体架构

Core Container

包含了spring-core、spring-beans、spring-context、spring-context-support、spring-expression这几个模块。
其中,spring-core和spring-beans是最基础的两个模块,他们提供了IOC特性,通过BeanFactory获取相关Bean。spring-context依赖于前两者,在BeanFactory的基础上,增加了上下文相关的特性(国际化、事件、资源管理等)。spring-context-support用于集成第三方的框架。spring-expression,见名知意,实现了Spring Expression Language,可以简化数据访问。

AOP and Instrumentation

包含以下模块;
spring-aop:提供spring的AOP特性;
spring-aspects:用于集成AspectJ,通过AspectJ提供Spring的AOP特性。
spring-instrument:支持JVM的监控和动态操作类的能力,这样就能在虚拟机级别支持AOP。
spring-instrument-tomcat:专供tomcat,包含Spring’s instrument agent。

Messaging

spring-messaging:用于支持基于消息的程序。

Data Access/Integration

包含spring-jdbc、spring-tx、spring-orm、spring-oxm、spring-jms,用于支持JDBC、实务管理、orm框架(JPA、Hibernate)、Object/XML mapping、JMS。

WEB

包含以下模块;
spring-web:提供WEB层相关的一些基本特性,如多文件上传、支持通过Servlet listener实现IOC容器初始化等。
spring-webmvc:Spring的MVC框架。
spring-websocket:提供对WebSocket的支持。
spring-webmvc-portlet:为Portlet环境提供MVC的相关实现。

TEST

包含spring-test模块,基于JUnit或TestNG,支持Spring组件的单元测试和集成测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值