Spring系列-什么是Spring?

笔记来源于对 Spring文档 的系统性学习总结

一、前言

目前Spring框架已经迭代到了6.X版本,下面是Spring版本对JDK的依赖关系:

Spring Framework 6.1.x: JDK 17-23
Spring Framework 6.0.x: JDK 17-21
Spring Framework 5.3.x: JDK 8-21 (as of 5.3.26)

小郭在这里使用最新的Spring Framework6来进行学习总结,但由于小郭本地只安装了JDK8环境,部分Spring6新特性会选择忽略。

二、Spring是什么?

Spring是一个轻量级的JAVA EE 开发框架,用于简化企业级应用程序的开发。

三、Spring框架概述

Spring有两个核心模块IOC和AOP:

  • IoC
    控制反转Inversion of Control,IoC(),将对象的创建过程从业务代码中剥离出去,交由Spring来完成。

  • AOP
    面向切面编程,使我们可以方便的在某段代码上增加额外的操作而不污染该部分代码。

Spring框架的特征:
1)轻量
体积小:完整的Spring框架可以在只有1MB多的JAR文件里发布。
处理开销小:Spring所需的处理开销可以忽略不记。

2)控制反转
与传统的编程方式不一样,控制反转的意思就是:你不用来找我,我主动提供给你。Spring中一个对象的自身初始化和依赖会被动的完成,而不是这个对象自己主动完成。

3)面向切面
支持分离应用的业务逻辑和系统逻辑,例如日志和事务支持。

4)扩展性强
Spring提供了很多扩展点和默认的框架实现,开发者也可以自己实现扩展点逻辑并替换框架默认行为。

Spring框架的优点:
1)方便解耦,简化了应用开发
Spring提供了IOC容器来管理对象的初始化和对象之间的依赖工作,开发者无需关心这部分工作是如何完成的,只需要专注业务逻辑的实现即可。

2)AOP编程的支持
通过Spring提供的AOP功能,应用的很多非业务功能可以统一管理。

3)事务支持
Spring提供了一套声明式事务的管理方式,开发者可以通过简单的注解完成事务控制。

4)方便测试
Spring默认支持Junit4测试框架,我们可以很容易实现程序的测试用例。

5)方便集成各种优秀框架
Spring框架的设计非常优秀,扩展性极强,提供了对各种优秀框架的直接集成支持,如Quartz、Hibernate等,大大降低了这些框架的使用难度。

6)降低了Java EE API的使用难度
Spring对很多难用的Java EE API(如JDBC、JavaMail、远程过程调用)等均封装了一层好用的接口,极大的方便了开发者的使用。

7)优秀的框架源码
Spring框架非常强调有意义的、最新的和准确的javadoc。它是为数不多的可以宣称代码结构干净、包与包之间没有循环依赖关系的项目之一。
其源代码中包含了大量Java设计模式,设计巧妙,Spring源码值得我们深入学习,相信我,绝对能快速提高我们的JAVA技术水平。

四、第一个Spring程序

Spring Boot提供了一种快速的方式来创建一个生产就绪的基于Spring的应用程序。它以Spring框架为基础,提供了约定俗成的配置。

这里通过使用 start.spring.io 一键生成一个基于 Spring Boot 的应用程序开始使用Spring框架。

spring程序在线生成

如上图所示,主要填写以下几个元素:

  • 1)JAVA作为编程语言(Spring也支持别的语言如Kotlin、Groovy)
  • 2)选择MAVEN作为项目管理工具
  • 3)使用SpringBoot作为脚手架
  • 4)打包方式选择jar,项目基本描述信息填写完整(Group、Artifact、Name、Description、Package Name)
  • 5)Java语言选择jdk8

相关要素填写完毕后,点击按钮[GENERATE],即可生成一个源码工程!

将源码工程导入IDEA,就可以直接运行:

运行spring

五、Spring知识点

Spring框架入门的基础知识有下面这些:
运行spring

接下来小郭我会仔细学习Spring框架官方文档,并对Spring的每一个常见知识点进行学习和总结输出系列文章,欢迎有兴趣的小伙伴关注我一起学习呀(总结不到位的地方使劲喷我!!)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值