SpringFrameworkIT技术篇SpringBoot极简教程 · Spring Boot

Spring(一)开篇

2020-01-14  本文已影响0人  龙二丶

1、Spring 介绍

在早期 J2EE 时代,开发一个应用程序非常繁琐,先不说对象的创建及管理,如其它数据库访问、提供 Web 服务等都需耗费我们大量时间。当时一位名为 Rod Johnson 的澳大利亚人率先对这种 J2EE 系统框架臃肿、低效的种种现状提出了质疑,之后 Rod Johnson 编写《Expert one on one J2EE design and development》一书,通过书中阐述的部分理念和原型创建了Spring Framework 。(PS:Rod Johnson 居然是音乐学博士???)

Spring Framework 是一个轻量级的 Java开源框架,主要是为了解决企业应用开发的复杂性而创建。它的核心是帮助我们管理对象及其依赖关系,但还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,还集成了大量的第三方框架,如数据库访问框架 Hibernate ,mybatis、Web 服务框架 Struts 、自身提供的SpringMVC,还有任务调度、Redis 缓存,Mq等。

Spring Framework 还致力于 J2EE 应用的各层解决方案,在表现层、业务层及持久层都集成了相应的功能框架,可以说 Spring 是企业应用开发的“一站式”解决方案。

但其实 J2EE 和 Spring 并不对立,Spring 是 J2EE 的补充,它将 J2EE 的各个规范集成在一起:

可以说 Spring 是“借鉴了”他山之石,来逐步实现自身的生态系统。

2、Spring 框架的演变

Spring 第一个版本于2002年10月发布,至今十几年间, Spring 框架的核心功能、社区支持等各方面都发展迅猛,所以有必要回顾一下Spring 每个里程碑版本所带来的重要特性。

3、Spring 整体架构

到了 Spring 5.0 时代,其模块大约有 20 个,如图:

image

这些模块被总结为以下几部分。

Core Container

Core Container(核心容器)包含 Core 、Beans 、Context 和 Expression Language 四个模块。

Data Access/Integration

Data Access/Integration 包含 JDBC 、ORM 、OXM、JMS 和 Transaction 模块。

Web

Web 层包含了Web 、Servlet 、WebSocket、Porlet 模块。

AOP

AOP 模块提供了一个符合 AOP 联盟标准的面向切面编程实现,它让你可以定义例如方法拦截器和切点,从而将逻辑代码分开,降低它们之间的耦合性。

Test

Test 模块支持使用 JUnit 和TestNG 对 Spring 组件进行测试。

最后

Spring 背景及架构就介绍到这,接下来将对 Spring 核心容器、AOP、事务这三部分内容展开一系列的讨论。

注:该系列文章使用的 Spring 版本是 5.0+。


以上就是本章内容,如果文章中有错误或者需要补充的请及时提出,本人感激不尽。

参考:

《Spring 源码深度解析(第二版)》
《Spring5 高级编程》
《SpringBoot 编程思想》
https://baike.baidu.com/item/spring/85061#2
https://docs.spring.io/spring/docs/5.2.2.RELEASE/spring-framework-reference/overview.html#overview

上一篇 下一篇

猜你喜欢

热点阅读