Spring5 feamework modules
一、Spring框架的组成
由
- core container(核心容器)
- Data Access and DataIntegration(数据读取和数据整合)
- web
- AOP(面向切面编程)
- Instrumentation(工具)
- Messaging(消息传递)
- Test
这七个部分组成,如下图

Spring框架的功能大概是由20个模块组成,这些模块按组可以分为:
1、Core Container(核心容器):
- Beans:负责Bean工厂中Bean的装配;所谓Bean工厂就是创建对象的工厂,Bean的装配也就是对象的创建。
- Core:负责IOC(控制反转)的基本实现
- Context:Spring的IOC容器,因大量调用Core中的函数,整合了Spring中的大部分功能。Bean创建好对象之后,由Context负责建立Bean与Bean之间的关系并维护。所以也可以把Context看成Bean关系的集合
- SpEL:Spring Expression Language(Spring表达式语言)
2、Data Access/Integration(数据访问/集成):
- JDBC:对JDBC的简单封装;
- ORM:支持数据集成框架的封装(如Mybatis,Hibernate)
- OXM:即Object XML Mapper,它的作用是在Java对象和XML文档之间来回转换;
- JMS:生产者和消费者的消息功能的实现;
- Transations:事务管理
3、Web:
- WebSocket:提供Socket通信,web端的的推送功能;
- Servlet:Spring MVC框架的实现;
- Web:包含web应用开发用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类,Struts集成类、文件上传的支持类、Filter类和大量辅助工具类;
- Portlet:实现web模块功能的聚合(如网站首页(Port)下面可能会有不同的子窗口(Portlet));
4、AOP:
- 面向切面
5、Aspects:
- 同样是面向切面的一个重要的组成部分,提供对AspectJ框架的整合
6、Instrumentation(设备):
- 相当于一个检测器,提供对JVM以及对Tomcat的检测
7、Messaging(消息):
- Spring提供的对消息处理的功能;
8、Test(测试)
- 在做单元测试时,Spring会帮我们初始化一些测试过程当中需要用到的资源对象;
二、核心概念
1、IOC(Inversion of Control)
- 控制反转
- 对象创建和对象之间维护的控制权由程序员管理变为Spring管理
2、DI(Dependency Injection)
- 依赖注入
- 表示对象和对象之间依赖关系管理
3、AOP(Aspect Oriented Programming)
- 面向切面编程
Spring5 feamework modules的更多相关文章
- jersey2.26+spring5+jpa一步步搭建restful服务
前言 首先,为什么想选择Jersey做restful服务呢?我个人比较喜欢它的插件化设计,可以方便的注入自己的全局处理逻辑.再一个就是可以生成wadl描述文件,供查询服务方法.所以在学习spring的 ...
- Spring5源码阅读环境搭建-gradle构建编译
前沿:Spring系列生态十分丰富,涉及到各个方面.但是作为Spring生态的核心基础Spring,是最重要的环节,需要理解Spring的设计原理,我们需要解读源码. 在构建Spring源码阅 ...
- Play modules
A Play application can be assembled from several application modules. This allows you to reuse appli ...
- YII的Modules模块化
转载来源: http://blog.csdn.net/mengxiangbaidu/article/details/7041296 http://blog.csdn.net/colzer/articl ...
- 在Angular1.X中使用CSS Modules
在Angular1.5中,增加了一个Component方法,并且定义了组件的若干生命周期hook,在代码规范中也是推崇组件化开发,但是很遗憾的是,CSS模块化组件化的问题并没有得到解决,大部分项目的打 ...
- 如何在Mac系统里面更新 Ansible 的 Extra Modules
最近遇到一个问题 seport is not a legal parameter in an Ansible task or handler 原因是我本地 Ansible 的 Extra Module ...
- Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
在eclipse里面配置tomcat时候遇到的问题: Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web mo ...
- 安装ESXi5.5遇到Relocating modules and starting up the kernel的处理
在一些Dell较旧的服务器上安装ESXi 5.x时, 会遇到卡在Relocating modules and starting up the kernel过不去的问题. 比如我装的这台CS24VSS. ...
- PHPCMS \phpcms\modules\member\index.php 用户登陆SQL注入漏洞分析
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述2. 漏洞触发条件 0x1: POC http://localhost/p ...
- PHPCMS \phpsso_server\phpcms\modules\phpsso\index.php、\api\get_menu.php Authkey Leakage
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 安装phpcms的时候会强制安装它的通行证 Relevant Link: ...
随机推荐
- js实现大文件上传——分片上传方法
当前端在开发过程中遇到上传文件需求,如果是上传头像.图片小文件之类的,可以正常按上传流程处理.但是当遇到上传大文件需求时,几个G或者十几个G,那么需要将这么大的文件分割成许多小片段分别上传,这种实现思 ...
- 查询某数据库的某字段存在于哪些表 mysql
select column_name,column_comment,data_type ,table_name from information_schema.columns where table ...
- mqtt的使用
1.mqttws31.js /******************************************************************************* * Cop ...
- secureCRT设置配色方案
https://blog.csdn.net/qq_42672770/article/details/81301494
- gui的服务器和vnc安装测试
为了OpenStack做连接准备,我们要准备企业中不常用到的gui桌面,和vnc连接去调试 然后开始我们的教程 yum grouplist 列出包组选择要安装的服务 systemctl stop za ...
- [530] C3 Rise Of Darkness Opcodez
[530] C3 Rise Of Darkness Client 00 SendProtocolVersion 01 MoveBackwardToLocation 02 Say 03 RequestE ...
- 在自定义Flink1.10 Sql Sink遇到的问题
1.org.apache.flink.table.api.TableException: Table sink does not implement a table schema. 问题:在Redis ...
- 记录一次echarts 中bar 定时跳跃并显示内容
查看echarts api ----- https://www.echartsjs.com/zh/api.html#echarts 搜索 1.dispatchAction 执行的关键 2.hi ...
- KinectFusion算法论文解读/代码解读随笔
--2021.6.8 上图是kinectfusion的流程图,是整个系统的工作流.我们对上面的流程进行分析以及相关代码的解读,使用的代码库是pcl的Kinectfusion复现.(ps:因为我只在ub ...
- Qt实现collapsePanel(折叠)功能
实践过程中,看到C#实现的CollapsePanel功能,比一般的TabWidget更加直观,充分利用了页面空间,遂感到很有兴趣,也查阅了很多资料搜索Qt在这方面的实现. 目前来说,比较常见的作法就是 ...