Spring前世今生与Spring编程思想

Spring前世今生与Spring编程思想

1.1 Spring 演进(EJB + Spring源码环境搭建)*
八年前的web项目开发—很少使用框架—最主流的还是jsp+servlet。
六年前的web项目开发—开始使用ejb+struts1。
三年前—SSM。
现在—分布式微服务架构(并不是说现在只用这个)。
1.2 Spring的起源
96年的时候Java不是主流 VB,C --那时候的Java只是窗体控件—Swing(C/S)。
Java Applet —开始进入web应用(B/S)—这个时候的需求就开始变大了。
但是此时的Java面向对象的竞争对手C++,准确的说C++没有把Java当回事。
2007年 Java正式成为编程语言三巨头之一C,Java,.net。
为什么会一夜之间成为巨头?
就是因为Spring的发布。
Spring是Java的春天。
96年-07年之间,我们的前辈们为了Java的推广和契合企业级开发,推出过EJB1.0-EJB3.0,
而这个EJB就是我们Java的前身或者说推动者。
面试官:问EJB和Spring共同点和区别
共同点:都是将Bean对象初始化到容器中
区别:Spring直接使用框架自带的容器(内存),EJB需要使用外部Web容器进行初始化。
EJB更复杂,而且更不可靠(我不仅仅要关心的EJB的代码,我还需要为这个Web容器的稳定性操心)
1.3 Spring的变成思想
还是拿EJB来说,你EJB亏不亏?
EJB并不是说就不如我们的Spring,因为EJB它就相当于导弹,Spring相当于狙击步枪
EJB一开始就是为分布式而生的,Spring就没有这个功能
亏就亏在6年前甚至更早的时候我们的分布式应用场景并不多,但是使用JavaBean的时候任何场景任何项目都要。
我就需要对付步兵,我需要使用导弹吗?我用Spring这杆狙击枪就ok。
后面围绕Spring框架的第三方框架就抛弃了EJB。
Spring的设计初衷就是简化开发,保证稳定,它并不需要去考虑分布式的问题。
当我们的Spring足够优秀的时候,其他人会围绕它来解决分布式的问题(分布式Session,分布式事务,分布式锁—Redis)。
你只需要容纳别人的一个解决方案即可。
BOP—面向Bean编程----我们Spring最最核心的一个内容就是Bean管理。
Bean Oriented Programe—任何的Spring延伸产品你都可以看得到Bean的身影。
无非就是将一系列的具体功能操作实例化为一个个可直接调用的Java 对象(DataSource,BeanFactory,上传MultiFile)。
非常重要的概念(依赖注入和控制反转)。
A a = new A() —>使用依赖注入解决了我们Java编程中一个最头痛的问题:耦合。
面向切面编程(AOP)的思想 —>也是解决耦合的问题。
控制反转—》解决的问题:耦合。
IOC和DI 其实是一个东西,只是从不同维度来看。
1.4 Spring源码环境搭建
作为一个程序员去研究源码,如果你不把源码环境搭好,你就相当于白研究了。
Spring4.0版本之后需要使用Gradle来进行部署。
1. 下载地址:https://gradle.org/install/
Windows平台下,需要配置gradle的环境变量(Spring4.0之后源码需要使用Gradle进行部署)。下载如图所示:在这里插入图片描述
2.解压即可,如图所示:在这里插入图片描述
3.右键计算机点击属性,进入界面并点击高级系统设置如图所示:在这里插入图片描述
4.进入系统属性,点击高级——>环境变量如图所示:在这里插入图片描述
5.在系统变量点击新建如图所示:在这里插入图片描述
6.填写变量名:GRADLE_HOME,变量值:D:\gradle-4.8.1如图所示:并点击确定。在这里插入图片描述
7.在系统变量找path并点击编辑,填写%GRADLE_HOME%\bin;如图所示,点击确定,即可:在这里插入图片描述
8.win+r并输入cmd进入命令提示符,并输入gradle –v 如图所示,说明安装与配置成功!在这里插入图片描述
9. Spring源码包下载地址:https://spring.io/如图所示: 在这里插入图片描述
10.进入Project界面并点击spring-framework:在这里插入图片描述
11.进入Spring Framework并点击the official Spring Framework wiki page如图所示:在这里插入图片描述
12.点击code进入如图所示的界面。在这里插入图片描述
13.点击需要下载的版本如图所示:在这里插入图片描述
14.如图所示:下载即可。哈哈!在这里插入图片描述
15.下载完成之后进行解压,如图所示:在这里插入图片描述
16.在F:\workspace\spring-framework-5.2.x如图所示:在这里插入图片描述
17. 在目录输入cmd,进入命令提示符并输入gradlew :spring-oxm:compileTestJava进行运行,即可。如图所示:在这里插入图片描述
注意:需要耐心半小时左右。
18.如下图所示:表明运行成功,因为本地没有安装git,这个错不用管。在这里插入图片描述
19.将IDEA上Kotlin插件更新到最新,File->Settings->Plugins->Kotlin,点击Update就可以了。如图所示:在这里插入图片描述
20. IDEA将源码项目导入步骤如下:
1). 打开IDEA,File->New->Project From Existing Sources…,选中spring-framework源码文件夹,点击OK,选择Import project from external model,选中Gradle,点击Next。如图所示:在这里插入图片描述
在这里插入图片描述
2).点击Finish之前,可以修改一些默认的配置。在这里插入图片描述
在这里插入图片描述
3).点击Background进入后台运行如图所示:在这里插入图片描述
4).配置JDK版本为1.8如图所示:在这里插入图片描述
5).如图所示,证明源码导入成功!在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学无止路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值