本人博客文章网址:https://www.peretang.com/basic-knowledge-of-spring-framework/


Spring框架简介

Spring , 一个开源的框架 , 由Rod Johnson创建. Spring是为了解决企业应用开发的复杂性而创建的 , 可以让简单的JavaBeans/POJO来实现之前只有EJB[1]才能完成的事情. Spring还提供了大量API简化与其他第三方框架的集成.

纵览Spring , 你会发现Spring可以解决非常多的问题 , 但归根到底 , 所有Spring提供的API/解决方案的理念都可以追溯到Spring最根本的理念上 "简化Java开发" .

▲Spring=简化Java开发

Spring策略与核心

Spring为了降低Java开发复杂性的4大关键策略/核心

1. 基于POJO的轻量级和最低侵入性编程

2. 通过依赖注入和面向接口实现松耦合

3. 基于切面和惯例进行声明式编程

4. 通过切面和模版减少板式代码

基本所有Spring的API/解决方案都可以追溯到上述的一条或多条策略中.

Spring缺点

虽然Spring能降低复杂性 , 但是当Spring发展到现在4.X , Spring已然是一个很复杂的框架.

另Spring的最初目标是一个轻量级的容器框架 , 但是发展到现在Spring4.X也已经是一个重量级框架.

最后虽然Spring是最小的侵入性 , 但是它带给了我们最大的依耐性.

Spring模块

Core模块

spring-core,spring-beans : 框架的最基础模块,其提供了IOC和依赖注入等功能

spring-context : 提供了一种访问对象的上下文对象

spring-context-support : 提供了将第三方库集成到上下文中的功能

spring-expression(SPEL) : 提供了强大的表达式语言支持 , 减少工作量

AOP模块

spring-aop : 提供了一个符合AOP规范的面向切面的API实现

spring-aspects : 提供了与AspectJ的集成

数据访问集成模块

spring-jdbc : 提供简化JDBC编程的API

spring-tx : 提供简化事务管理和编程的API

spring-orm : 提供简化ORM规范[2]编程的API , 并提供对JPA , Hibernate的支持

spring-oxm : 提供简化OXM规范[3]编程的API

spring-jms : 提供简化JMS规范[4]编程的API

Web模块

spring-web : 提供简化基本Web功能编程的API

spring-webmvc,spring-webmvc-portlet : 提供简化MVC[5]和RESTful[6]编程的API

spring-websocket : 提供简化Websocket编写的API

测试模块

spring-test : 提供对单元测试和集成测试支持的组件 , 简化测试用例编程的API

信息模块

spring-messaging : 支持消息架构和协议

设备模块

spring-instrument : 提供了在某些应用服务器中使用的类检测支持和类加载器实现

spring-instrument-tomcat : 提供了在Tomcat中使用的类检测支持和类加载器实现

Spring架构图

参考

Spring framework reference

Spring In Action

注释

[1]这里的EJB指的是EJB2.X,因为从EJB3.X规范开始也可以使用POJO来实现EJB规范。

[2]对象关系映射 , 用来把对象模型表示的对象映射到基于SQL的关系模型数据库结构中去.

[3]Object XML Mapping , 数据实体对象与XML节点之间的映射.

[4]Java消息服务 , JavaEE规范中的一员 , 负责与信息中间件(MOM)进行交互的API. 参考 : JAVAEE规范基础知识

[5]MVC是一种使用 MVC (Model View Controller 模型-视图-控制器) 设计创建 Web 应用程序的模式.

[6]RESTful一种软件架构风格.

转载于:https://www.cnblogs.com/peretang/p/basic-knowledge-of-spring-framework.html

Spring框架基础知识相关推荐

  1. 2022年Java应届生面试之Spring框架基础知识

    前言:工作的原因,最近没有及时更新相关系列.很抱歉!在复习Spring框架的同时也别忘了j2ee的相关知识理论wo~ 大家好!我是JAVA 中的Spring框架,我是一个开源的容器性质的轻量级框架. ...

  2. 三分钟轻松了解Spring框架基础知识

    做为一个合格的Java开发人员,你一定听说过Spring框架,虽然会应用,但却未必能够深入理解框架的原理,只是像其它人一样,泛泛的只是停留在理解的层面.小编会带着大家一步步了解Spring框架. st ...

  3. 2021 版 Spring Boot 基础知识复习手册(2w字,建议收藏)

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!个人原创100W +访问量博客: ...

  4. 一.Spring框架基础

    JAVAEE框架之Spring 一.Spring框架基础 Spring:春天:轻量级的企业级开发框架,核心是IOC(控制反转)和AOP(面向切面编程). 官网:spring.io Spring–> ...

  5. Spring框架—基础介绍

    原文地址:https://www.cnblogs.com/lagou/p/10552815.html 目录 一.spring基本概念 二.spring框架 三.spring中机制和实现 三.sprin ...

  6. Spring集成基础知识

    本文是我们名为" EAI的Spring集成 "的学院课程的一部分. 在本课程中,向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们. 接下来,您将深 ...

  7. Spring 框架基础(04):AOP切面编程概念,几种实现方式演示

    本文源码:GitHub·点这里 || GitEE·点这里 一.AOP基础简介 1.切面编程简介 AOP全称:Aspect Oriented Programming,面向切面编程.通过预编译方式和运行期 ...

  8. Spring框架基础(2)----Bean的创建及标签属性

    一.实例化Bean的三种方式 ⽅式⼀:使用无参构造函数 在默认情况下,它会通过反射调⽤⽆参构造函数来创建对象.如果类中没有无参构造函数,将创建失败. <bean id="userSer ...

  9. Spring框架基础概念(面试概念解答)

    Spring框架概述 什么是Spring? 三层体系架构 Spring框架的优点 Spring的体系结构 Core Container(核心容器) Data Access/Integration(数据 ...

最新文章

  1. 2019最新进展 | Transformer在深度推荐系统中的应用
  2. hadoop思维导图
  3. 只缺一个程序员 如何让产品实现
  4. 二、Asp.Net Core WebAPI——OcelotDemo
  5. java 死锁 解决_Java死锁故障排除和解决
  6. [转载]WebBrowser知识
  7. [Cordova]JS和Native交互实现关键代码(iOS)
  8. grep, egrep
  9. 用户空间文件系统(FUSE)
  10. c语言喂狗的作用,兽医忠告:用这几样食物喂狗,简直就是喂“砒霜”!
  11. 【名风自动点击王】支持前台和后台鼠标键盘模拟游戏生活好帮手|IP网页自动点击器
  12. AppleAlc 工具 dump-coeff的使用方法
  13. 元宇宙011 | 元宇宙的沉浸式体验会成瘾吗?
  14. 个人日记开发最终实现
  15. 【RFC7323 高性能的TCP扩展】(翻译)
  16. 曲师大教务系统服务器,曲阜师范大学教务系统
  17. 【web前端特效源码】使用HTML5+CSS3制作一个会动的音频loading加载动画效果~~适合初学者~超简单~ |前端开发|IT编程
  18. (三十七)期权的隐含波动率计算与图形
  19. 不懂FAQ页面怎么设计?一些产品FAQ页面模板展示!
  20. qemu中的singly-linkedlists, lists, simple queues, and tail queues

热门文章

  1. ANDROID L日志系统——JAVAAPI与LIBLOG
  2. Hyperledger Fabric1.0架构概览
  3. JZOJ 5627. 【NOI2018模拟4.3】paint
  4. nohup 带参数_广州市西门子两通阀VVF42.40-25C+SKD62带断电
  5. 安装完matlab7.0但无法运行
  6. Codeforces 1188E Problem from Red Panda (计数)
  7. CBU计算机硕士申请难度,电脑开机后CBU百分只百是什么问题
  8. 图像处理中ct图的通道是多少_常见医疗扫描图像处理步骤
  9. android 自定义view如何控制view的高度_Android自定义View属性动画
  10. 2019-10-12 线性最小方差估计和正交定理