Spring 01 概述
简介
Spring 是开源的轻量级 J2EE 框架
我们常说的 Spring 实际上是指 Spring Framework,它是 Spring 家族中的一个重要分支。

官方文档
https://docs.spring.io/spring-framework/docs/current/reference/html/core.html
两大核心:IOC 和 AOP
IOC
Inversion of Control,即控制反转,把创建对象的过程交给 Spring 进行管理。
实现方式
DI(Dependency Injection),即依赖注入。
底层实现
工厂模式 + XML 解析 + 反射
AOP
Aspect Oriented Programming,即面向切面编程,不修改源代码进行功能增强。
底层实现
动态代理 => 代理模式 => 反射
结构

组件
Spring 中的组件分别提供一块特定的功能。
core

spring-core
核心组件,依赖注入的最基本实现。
spring-beans
Bean 工厂与 Bean 的装配,提供控制反转的基础实现。
spring-context
上下文即 IOC 容器,在 IOC 基础上继续扩展服务。
spring-expression
对表达式语言的支持。
commons-logging
因为 spring-core 依赖了 commons-logging,而其他模块都依赖了 spring-core。
所以整个 Spring 框架都依赖了 commons-logging。
如果有自己的日志实现如 log4j,可以排除对 commons-logging 的依赖,没有日志实现而排除了 commons-logging 依赖,会编译报错。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.17.RELEASE</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
aop

spring-aop
提供面向切面编程的实现。
spring-aspects
提供对 AspectJ 框架的整合。
spring-instrument
提供一些类级的工具支持和 ClassLoader 级的实现,用于服务器。
spring-instrument-tomcat
针对 Tomcat 的 instrument 实现。
data access

spring-jdbc
JDBC 的支持。
spring-tx
事务控制。
spring-orm
对象关系映射,集成 ORM 框架。
spring-oxm
对象 XML 映射。
spring-jms
Java 消息服务。
web

spring-web
基础 web 功能,如文件上传。
spring-webmvc
MVC 实现。
spring-webmvc-portlet
基于 portlet 的 MVC 实现。
spring-websocket
对 WebSocket 的支持,为 WEB 应用提供的高效通信工具。
test

spring-test
测试,提供 jUnit 与 mock 测试功能。
spring-context-support
对 spring-context 的扩展。
Spring 额外支持包,比如邮件服务、视图解析等。
其他

spring-messaging
对消息服务的支持,例如搭配 JMS、搭配 AMQP、搭配 WebSocket 等,用于构建基于消息的应用程序。
Spring 01 概述的更多相关文章
- Spring Integration概述
1. Spring Integration概述 1.1 背景 Spring框架的一个重要主题是控制反转.从广义上来说,Spring处理其上下文中管理的组件的职责.只要组件减轻了职责,它们同 ...
- Spring Cloud 概述
1. Spring Cloud 引言 首先我们打开spring 的官网:https://spring.io/ 我们会看到这样一张图片 这个图片告诉我们,开发我们的应用程序就像盖楼一样, 首先我们需要搭 ...
- (转)Spring的概述
http://blog.csdn.net/yerenyuan_pku/article/details/69663685 Spring的概述 什么是Spring 据度娘所载: Spring是一个开源框架 ...
- 微服务与Spring Cloud概述
微服务与Spring Cloud随着互联网的快速发展, 云计算近十年也得到蓬勃发展, 企业的IT环境和IT架构也逐渐在发生变革,从过去的单体应用架构发展为至今广泛流行的微服务架构. 微服务是一种架构风 ...
- Spring IOC 概述
Spring IOC 概述 IOC(Inversion of Control) 控制反转,也叫 DI(D_ependency injection_) 依赖注入.是一种设计思想.不过我并不同意所谓反转的 ...
- 1.Spring 框架概述
目录 Spring 框架概述 1 我们所说的 "Spring "是什么意思 2. Spring和Spring框架的历史 3. 设计理念 4.反馈和贡献 5.开始使用 Spring ...
- 01 - spring mvc 概述及配置DispatcherServlet
1.Spring mvc 基于model2实现,整体框架流程如(图片来自百度): ①web容器接收到http请求,若匹配DispatcherServlet的请求映射路径(web.xml),则容器会交给 ...
- Spring → 01:概述
一.了解Spring发展 Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Dev ...
- Spring源码 01 概述
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
随机推荐
- autohotkey(AHK)实现箭头映射
起因 在主力本上使用了AHK实现alt ijkl的箭头映射,在另一个本子上怎么都不习惯,于是网上找教程,找了半天... 因为大家习惯了快捷键都不一样,为了避免以后浪费时间,因此开此文记录. 操作 ht ...
- Linux Cgroup v1(中文翻译)(1):Control Group
英文原文:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cgroups.html 1 控制组 1.1 什么是控制组? 控制组 ...
- wappalyzer 上各种开源框架功能
Underscore.js 官网地址:https://underscorejs.org/ 一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScrip ...
- vue-cli在webpack环境下怎样生成开发环境模板(适合初学者)
1.事先安装好cnpm(淘宝镜像) npm install -g cnpm --registry=https://registry.npm.taobao.org 这是网址,可以自己用命令行工具输入命令 ...
- Vue 3.0 有哪些新特性值得我们提前了解
一.迎接 Vue 3.0 简介 Vue.js 作者兼核心开发者尤雨溪宣布 Vue 3.0 进入 Beta 阶段. 已合并所有计划内的 RFC 已实现所有被合并的 RFC Vue CLI 现在通过 ...
- python基础知识-day7(文件操作)
1.文件IO操作: 1)操作文件使用的函数是open() 2)操作文件的模式: a.r:读取文件 b.w:往文件里边写内容(先删除文件里边已有的内容) c.a:是追加(在文件基础上写入新的内容) d. ...
- rhel挂载本地光盘为yum源
挂载光盘 mount /dev/sr0 /mnt/cdrom mkdir /mnt/cdrom 临时挂载 mount /dev/sr0 /mnt/cdrom 永久挂载光盘 mount -a 执行挂载 ...
- 【Python】和【Jupyter notebook】的正确安装方式?
学了那么久Python,你的Python安装方式正确吗?今天给你看看什么才是Python正确的安装方式,教程放在下面了,喜欢的记得点赞. Python安装 Python解答Q群:660193417## ...
- 无语怎么这么简单!——python实现中文字幕雨+源代码(源码可赠)
大家好鸭,我是小熊猫 最近浏览了很多关于用Python和Pygame实现代码雨的案例,发现很多都是没有深入讲解代码的整个实现过程,从0到1教会你制作中文文字雨(其实啥字好像都可以). 然后在介绍的过程 ...
- 0016:单源最短路径(dijkstra算法)
题目链接:https://www.luogu.com.cn/problem/P4779 题目描述:给定一个 n 个点,m 条有向边的带非负权图,计算从 s 出发,到每个点的距离. 这道题就是一个单源最 ...