【Spring】Spring框架的体系结构

一、Spring框架

1.什么是Spring?
Spring是一个分层的Java SE/EE full-stack(一站式)轻量级开源框架,使用基本的Java Bean来完成以前只能由EJB(Java企业Bean)完成的工作,取代了EJB臃肿、低效的开发模式。
2.Spring的核心部分:
IOC(Inversion of Control,控制反转):将创建对象的过程交给Spring管理
AOP(Aspect Orinted Programing,面向切面编程):将分散在各个方法中的重复代码提取出来,在程序编译或运行时,再将这些代码应用到需要执行的地方。
3.Spring框架的优点:
① 非侵入式设计
② 方便解耦,简化开发
③ 支持AOP
④ 支持声明式事务处理
⑤ 方便程序的测试
⑥ 方便集成各种优秀的框架
⑥ 降低Java EE API的使用难度
4.Spring相关jar包的下载
Spring-jar包下载
除了需要自带的jar包以外,还需要依赖commons.logging的jar包:commons.logging下载
5.Spring基本项目需要的jar包
在这里插入图片描述

二、Spring的体系结构

Spring框架采用得是分层架构,这些模块大体分为:核心容器(Core Container) 、面向切面编程(AOP)、设备支持(Instrmentation)、数据访问与集成(Data Access/Integeration)、Web、 消息(Messaging)、Test等 6 个模块中。
在这里插入图片描述
对主要模块进行简单说明:

1.Core Container(核心容器)

Beans模块:提供BeanFactory,对Java Bean进行管理,Spring将管理对象称为Bean;

JavaBean实际就是一个普通的Java类,为了规范开发,JavaBean具有如下特点:
① 具有一个公共的、无参的构造方法;
② 对应的属性必须提供了setter和getter方法用于外部属性赋值和获取属性值;

Core模块:提供了Spring框架的基本组成部分,包括IOC(控制反转)和DI(依赖注入)功能;
Context上下文模块:建立在Core和Beans的基础上,它是访问定义和配置的任何对象的媒介,提供了邮件服务、任务调度、远程访问、缓存、JNDI等支持。其中ApplicationContext接口是上下文模块的焦点;
SpEL模块:提供了强大的表达式语言去支持运行时查询和操作对象图;

2.Data Access/Integration(数据访问/集成)

JDBC模块:提供了JDBC的抽象层,减少在开发过程中对数据库操作时的编码;
ORM模块:对象关系映射,对流行的对象关系映射API;
OXM模块:提供了一个支持对象/XML映射的抽象层实现;
JMS模块:Java消息传递服务,包含使用和产生信息的特性;
Transactions事务模块:支持对实现特殊接口以及所有POJO类的编程和声明式事务处理;

3.Web

WebSocket模块:提供了WebSocket和SockJS的实现以及STOMP的支持;
Servlet模块:也称为Spring-webmvc模块,包含了Spring的模型-视图-控制器(MVC)和REST WebServices实现的Web应用程序;
Web模块:提供了基本的Web开发集成特性,如:多文件上传功能、使用Servlet监听器来初始化IOC容器以及Web应用上下文。
Portlet模块:提供了在Portlet环境中使用MVC实现,类似Servlet的功能;

4.其他模块

AOP模块:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性;
Aspects模块:提供了与AspectJ的集成功能,AspectJ是一个功能强大切成熟的面向切面编程框架;
Instrumentation模块:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用;
Messaging模块:提供了对消息传递体系结构和协议的支持;
Test模块:提供了对单元测试和集成测试的支持;

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智商三岁半i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值