JavaEE进阶首章
文章目录
- 【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识
- 1. JavaEE初阶 与 JavaEE进阶 开发上的区别
- 1.1 Servlet VS Spring Boot
- 1.2 Spring Boot的 “hello world”代码演示
- 1.2.1 Spring Boot项目的创建
- 1.2.2 hello world
- 1.2.3 发布
- 2. 框架的学习
- 3. Spring的初步认识
- 3.1 Spring是什么
- 3.2 IoC是什么
- 3.3 IoC的好处
- 3.3.1 传统程序开发模式
- 3.3.2 Spring开发模式
在之前的学习中,我们已经掌握了Servlet的框架去完成一个项目,而目前企业正在使用的技术则是我们接下来重点学习的!
本文章为 JavaEE进阶的第一篇文章,JavaEE进阶我们将学习:
最后,我们将对我们之前做的项目进行优化,或者说重新用这些框架写一遍这些代码~
虽然我们在JavaEE初阶就学习了一个小框架,Servlet,用得也不错,也好像省去很多功夫,几行后端代码就能完成很多功能,但是这是在JavaEE进阶之前的认知!
而JavaEE进阶学习的框架将更加的方便!
有人比喻“学习框架就像从小作坊到小工厂的升级”
接下来就让我们来对比一下,Servlet 与 Spring Boot
Servlet涉及的东西不必多说,我们谈谈Spring Boot的优点
接下来我们演示一下Spring Boot开发(不必在意为什么,就看看方不方便)
Servlet的开发参考博客:【JavaEE】Tomcat-Servelet第一个helloworld程序_s:103的博客-CSDN博客
首先我们要在IDEA创建Spring项目,则需要去下载一个插件:
下一步:
下一步:
下一步:
点击finish即可~
判断是否创建成功:
然后自动加载~
配置国内源(不然会很慢):
在对应目录里创建个settings.xml:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 htt p://maven.apache.org/xsd/settings-1.0.0.xsd"> <pluginGroups> pluginGroups> <proxies> proxies> <servers> servers> <mirrors> <mirror> <id>alimavenid> <name>aliyun mavenname> <url>http://maven.aliyun.com/nexus/content/groups/public/url> <mirrorOf>centralmirrorOf> mirror> mirrors> <profiles> profiles> settings>
这样会比较快~
或者找我拿一个xml文件~
- 直接下载到那个目录下即可,(我的xml文件的内容更多),但是刚才的代码也够用~
- 前提是你那个目录原本是没有settings.xml的,如果本来就有,就只需要插入刚才的代码进去即可
版本号2.7.13后面那个单词删后,再刷新加载:
创建不了项目(返回500,可能是因为网络的问题,可能是你的梯子的原因),重新创建几次就行了
ctrl shift f10运行它
我们现在还有很多配置没弄,所以我就用网图来解释了:
我们没有配置smart tomcat,就可以运行起来了~
一个类对应多个url:
运行:
通过日志找到jar包
所以SpringBoot:
- 添加外部jar包更容易,无需关注版本问题
- 运行项目更方便,无需配置tomcat
- 发布项目更方便,无需配置tomcat
- 添加路由更方便,无需写多个类,一个方法就可以是一个路由
- …
Spring 是一个开源的轻量级 Java 开发框架,它旨在简化 Java 应用程序的开发。Spring 提供了丰富的功能和组件,用于构建各种类型的应用程序,包括企业级应用、Web 应用、移动应用等。
指的就是Spring Framework
一句话概况Spring:Spring是包含了众多工具方法的IoC容器
那问题来了,什么是容器,什么是IoC?
容器就是用来容纳其他物品的装置。
例如:
- List/Map是数据存储 容器
- Tomcat是Web 容器
而Spring则是IoC 容器
IoC = Inversion of Control 翻译成中文就是“控制反转”,也就是说Spring是“控制反转”容器,这样回答是0分的,因为控制反转就是直译,回答面试官要表达明确的含义!
get英语的含义则是:“控制权的反转”
这个控制权是一部分代码,例如对象创建/对象的生命周期的“控制权”,属于程序员,而现在反转了,属于Spring
不是方向的反转,而是“剧情的反转”
也就是说Spring现在有权利去控制一部分代码,在开发过程中
例如你有一个类A,不需要new A()了,直接向Spring框架要一个即可
当然,这样讲还是有点笼统,接下来用一个例子一段代码让你感受其含义
并且IoC的优点有:松耦合
通过init方法去造车:
运行结果:
但是,根据常识,不限于这辆车(Car是一个虚拟的例子),一个产品往往需要满足用户的一些特殊需求,做出一些“定制”的东西~
对于刚才的开发模式,我们就要做出以下改动:
运行结果:
你可能已经发现了,这样的耦合性太高了,增加这么一个功能,就要改这么多代码,我要求更多,要改的代码就越多了
通过init方法去造车:
运行结果:
同样的,我要是想要大轮子或者小轮子:
我们只需要在“向框架拿Tire对象的时候”,去拿另一个Tire对象
运行结果:
可见,IoC很好的实现了“松耦合”!
文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭!代码链接:IoC-understand/src · 游离态/马拉圈2023年7月 - 码云 - 开源中国 (gitee.com)
具体Spring项目如何去开发,要点有哪些,下一篇博客会有很好的感受!