【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识

这篇具有很好参考价值的文章主要介绍了【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JavaEE进阶首章

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识

在之前的学习中,我们已经掌握了Servlet的框架去完成一个项目,而目前企业正在使用的技术则是我们接下来重点学习的!

本文章为 JavaEE进阶的第一篇文章,JavaEE进阶我们将学习:

  1. Spring全家桶
    • Spring / Spring Boot/ Spring MVC,Spring Cloud为社招必须,校招不须
  2. MyBatis
  3. Redis

最后,我们将对我们之前做的项目进行优化,或者说重新用这些框架写一遍这些代码~

1. JavaEE初阶 与 JavaEE进阶 开发上的区别

虽然我们在JavaEE初阶就学习了一个小框架,Servlet,用得也不错,也好像省去很多功夫,几行后端代码就能完成很多功能,但是这是在JavaEE进阶之前的认知!

而JavaEE进阶学习的框架将更加的方便!

  • 框架的存在就是 “人类的懒”,框架就是为了方便开发,提高开发效率,所以越好的框架,使用起来就应该越方便~
  • Spring全家桶其实就是这么一个很好的东西,开源框架!

有人比喻“学习框架就像从小作坊到小工厂的升级”

  • 所以学完之后,我们会发现原来的日子过得那么的惨🤣

接下来就让我们来对比一下,Servlet 与 Spring Boot

1.1 Servlet VS Spring Boot

Servlet涉及的东西不必多说,我们谈谈Spring Boot的优点

  1. 无需配置Tomcat,在项目中“点击运行”即可
    • 这是因为Spring Boot内置了Web容器,一个Spring Boot就有一整个Tomcat
  2. 快速添加外部jar包
  3. 快速发布项目(例如:可以使用 java -jar 方式,就可以发布)
  4. 对象自动装配

接下来我们演示一下Spring Boot开发(不必在意为什么,就看看方不方便)

Servlet的开发参考博客:【JavaEE】Tomcat-Servelet第一个helloworld程序_s:103的博客-CSDN博客

1.2 Spring Boot的 “hello world”代码演示

1.2.1 Spring Boot项目的创建

首先我们要在IDEA创建Spring项目,则需要去下载一个插件:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring
【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

下一步:

  • 选择项目类型
  • 选择语言
  • 选择打的包的类型
  • 选择java的jdk的版本

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

  • 不用改为war包,war包是啊佩奇的Servlet的要求
  • 所以点这个会额外多个类

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

下一步:

  • jdk8只能使用2头的版本
  • 选择用到的工具/插件/jar包

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

下一步:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

点击finish即可~

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

判断是否创建成功:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

  • 下面那个就是打war包的(重新创建一个吧~)

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

然后自动加载~

配置国内源(不然会很慢):

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

在对应目录里创建个settings.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
    </mirrors>
    <profiles>
    </profiles>
</settings>

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

这样会比较快~

或者找我拿一个xml文件~

  • 直接下载到那个目录下即可,(我的xml文件的内容更多),但是刚才的代码也够用~
  • 前提是你那个目录原本是没有settings.xml的,如果本来就有,就只需要插入刚才的代码进去即可

版本号2.7.13后面那个单词删后,再刷新加载:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

创建不了项目(返回500,可能是因为网络的问题,可能是你的梯子的原因),重新创建几次就行了

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

1.2.2 hello world

ctrl shift f10运行它

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

  • 需要打开个插件

我们现在还有很多配置没弄,所以我就用网图来解释了:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

我们没有配置smart tomcat,就可以运行起来了~

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

一个类对应多个url:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

运行:

  • 访问127.0.0.1:8080/注解名 即可
  • 不需要项目名,因为这个端口肯定只有一个项目目前在用(Servlet多此一举),所以用注解名就能确保唯一性了
    【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring
1.2.3 发布

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

通过日志找到jar包

  1. 命令行java -jar demo.jar,就可以自动启动Tomcat,网站也可以访问
  2. 将这个自动生成jar包,部署在网站就ok了,这个以后再讲~

所以SpringBoot:

  1. 添加外部jar包更容易,无需关注版本问题
  2. 运行项目更方便,无需配置tomcat
  3. 发布项目更方便,无需配置tomcat
  4. 添加路由更方便,无需写多个类,一个方法就可以是一个路由

2. 框架的学习

  1. 基础框架Spring开始(工具箱)
  2. Spring Boot快速开发Spring脚手架
  3. MyBatis快速操作数据库
  4. 其他:日志、事物、拦截器…

3. Spring的初步认识

3.1 Spring是什么

Spring 是一个开源的轻量级 Java 开发框架,它旨在简化 Java 应用程序的开发。Spring 提供了丰富的功能和组件,用于构建各种类型的应用程序,包括企业级应用、Web 应用、移动应用等。

指的就是Spring Framework

一句话概况Spring:Spring是包含了众多工具方法的IoC容器

  • 这些工具方法就是我们要积累的学习的工具方法~

那问题来了,什么是容器,什么是IoC?

容器就是用来容纳其他物品的装置。

例如:

  1. List/Map是数据存储 容器
  2. Tomcat是Web 容器

而Spring则是IoC 容器

IoC = Inversion of Control 翻译成中文就是“控制反转”,也就是说Spring是“控制反转”容器,这样回答是0分的,因为控制反转就是直译,回答面试官要表达明确的含义!

3.2 IoC是什么

get英语的含义则是:“控制权的反转”

这个控制权是一部分代码,例如对象创建/对象的生命周期的“控制权”,属于程序员,而现在反转了,属于Spring

  • 不是方向的反转,而是“剧情的反转”

  • 也就是说Spring现在有权利去控制一部分代码,在开发过程中

例如你有一个类A,不需要new A()了,直接向Spring框架要一个即可

当然,这样讲还是有点笼统,接下来用一个例子一段代码让你感受其含义

  • 一个普通的java项目

3.3 IoC的好处

以一辆车为例:
【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

  1. 传统开发就相当于,每次获得拿一辆车,就得现场造
  2. Spring就相当于在车库里面取

并且IoC的优点有:松耦合

  • 低耦合
3.3.1 传统程序开发模式

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

通过init方法去造车:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

运行结果:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

但是,根据常识,不限于这辆车(Car是一个虚拟的例子),一个产品往往需要满足用户的一些特殊需求,做出一些“定制”的东西~

  • 这辆车,我身材高达,我想要轮子大一点;我身材瘦小,我想要轮子小一点…

对于刚才的开发模式,我们就要做出以下改动:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

运行结果:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

你可能已经发现了,这样的耦合性太高了,增加这么一个功能,就要改这么多代码,我要求更多,要改的代码就越多了

3.3.2 Spring开发模式

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

通过init方法去造车:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

  • 通过new Test()的方式去拿到“框架”里的一个car实例

运行结果:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

同样的,我要是想要大轮子或者小轮子:

我们只需要在“向框架拿Tire对象的时候”,去拿另一个Tire对象

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

运行结果:

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识,JavaEE,java-ee,学习,spring

可见,IoC很好的实现了“松耦合”!


文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

代码链接:IoC-understand/src · 游离态/马拉圈2023年7月 - 码云 - 开源中国 (gitee.com)

具体Spring项目如何去开发,要点有哪些,下一篇博客会有很好的感受!文章来源地址https://www.toymoban.com/news/detail-585493.html


到了这里,关于【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微服务】微服务初步认识 - 微服务技术如何学习 · 认识微服务架构

    微服务(1) 微服务只是分布式架构中的一种,而SpringCloud只是解决了服务拆分时的服务治理问题,至于其他的分布式的更复杂的问题并没有明确的给出解决方案,所以微服务不仅仅包含SpringCloud,还包含一些其他的~ 对于SpringCloud相关的微服务(架构)治理工作(大概了解,先不

    2024年02月08日
    浏览(49)
  • 【java数据结构】泛型的初步认识(2)

    hellohello~,大家好💕💕,这里是E绵绵呀✋✋ ,如果觉得这篇文章还不错的话还请点赞❤️❤️收藏💞 💞 关注💥💥,如果发现这篇文章有问题的话,欢迎各位评论留言指正,大家一起加油!一起chin up!👍👍  💥 个人主页: E绵绵的博客 💥 所属专栏: JAVA知识点专栏

    2024年04月26日
    浏览(36)
  • 【我与java的成长记】之面向对象的初步认识

    能看懂文字就能明白系列 C语言笔记传送门 🌟 个人主页 :古德猫宁- 本节目标: 了解什么是面向对象,与面向过程的区别 掌握类的定义方式以及对象的实例化 掌握类中的成员变量和成员方法的使用 大家都知道Java是一种面向对象的开发语言,那么什么是面向对象呢? 所谓

    2024年02月04日
    浏览(37)
  • 【JavaEE进阶】 Spring Boot⽇志

    在没有学习spring时,我们可能使⽤ System.out.print 来打印⽇志了.通过打印⽇志来发现和定位问题,或者根据⽇志来分析程序的运⾏过程. 在Spring的学习中,也经常根据控制台的⽇志来分析和定位问题.随着项⽬的复杂度提升,我们对⽇志的打印也有了更⾼的需求,⽽不仅仅是定位排查

    2024年01月24日
    浏览(51)
  • JavaEE进阶5/25(Spring 注解)

    1.五大类注解详解(重点 1.Controller 控制器,用于业务逻辑层,来控制用户的行为。它用来检查用户参数的有效性。 当用户的参数有效的话会继续分发到服务层。controller可以理解为程序的安保系统 2.Service 服务层。归属服务层,调用 持久化类 实现相应的功能。(服务层不直接

    2024年02月07日
    浏览(39)
  • 【JavaEE进阶】Spring 创建与使用

    使用Maven方式来创建一个Spring项目,创建Spring项目和Servlet类似,总共分为以下3步: 创建一个普通Maven项目 添加 Spring 框架⽀持(spring-context、spring-beans) 添加启动类 1.1,创建一个Maven项目 创建一个普通的Maven项目注意点:项目名称和项目路径中不能有任何中文。 当 Java源代码

    2024年02月13日
    浏览(73)
  • 红蓝攻防基础-认识红蓝紫,初步学习网络安全属于那个队?

    红队,也叫蓝军是指网络实战攻防演练中的攻击一方,以发现系统薄弱环节、提升系统安全性为目标,一般会针对目标单位的从业人员以及目标系统所在网络内的软件、硬件设备执行多角度、全方位、对抗性的混合式模拟攻击,通过技术手段实现系统提权、控制业务、获取数

    2024年02月13日
    浏览(50)
  • JavaEE进阶 Spring AOP(6/1)

    目录 1.什么是AOP 2.Spring AOP可以干什么 3.AOP的组成成分 4.SpringAOP实现步骤 5.SpringAOP的原理 1.什么是AOP AOP是面向切面编程,是一种思想 Spring AOP是一种具体的技术 2.Spring AOP可以干什么 1.用户登录状态的判断 2.统一的日志记录(比如记录访问次数) 3.统一方法执行实践 3.AOP的组成

    2024年02月07日
    浏览(36)
  • 【JavaEE进阶】 Spring使用注解存储对象

    在博主前面所写的《【JavaEE进阶】 Spring 的创建和使⽤》中我们已经可以实现基本的 Spring 读取和存储对象的操作了,但在操作的过程中我们发现读取和存储对象并没有想象中的那么“简单”,所以接下来我们要学习更加简单的操作 Bean 对象的⽅法。 在 Spring 中想要更简单的存

    2024年02月05日
    浏览(42)
  • 【JavaEE进阶】 Spring 的创建和使⽤

    Spring 是⼀个包含了众多⼯具⽅法的 IoC 容器,它具备以下两个最基本的功能: 将对象存储到容器(Spring)中; 从容器中将对象取出来。 在 Java 语⾔中对象也叫做 Bean,所以下文中提到的对象我们以 Bean 著称 接下来使⽤ Maven ⽅式来创建⼀个 Spring 项⽬,创建 Spring 项⽬和 Ser

    2024年02月05日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包