• 【学习笔记】Java 一对一培训(3.1)Spring Boot介绍和基础


    【学习笔记】Java 一对一培训(3.1)Spring Boot介绍和基础

    • 关键词:Java、Spring Boot、Idea、数据库、一对一、培训、教学
    • 本文主要内容含Spring Boot相关的基础介绍、快速入门、Maven介绍、代码结构介绍、打包运行、配置介绍等
    • 计划1小时完成,请同学尽量提前准备。本部分主要是理论学习。
    • 有学习需要请联系:xujian_cq
    • 手把手教学、腾讯会议一对一培训,所有代码都要敲一遍,有问题随时暂停解决
    • 前置内容(【学习笔记】Java 一对一培训(2.2)Java基础逻辑

    文章导航栏

    (1)Java 一对一培训(第一部分)开发工具介绍和安装
    (2.1)Java 一对一培训(2.1)Java基础语法
    (2.2)Java 一对一培训(2.2)Java基础逻辑
    (3.1)Java 一对一培训(3.1)Spring Boot介绍和基础

    1 基础介绍

    1.1 什么是web应用开发

    • Web应用开发是指开发可以通过浏览器访问的应用程序,通常基于B/S架构模式。Web应用开发包括Web UI设计、Web前端开发和Web后端开发。
    • Web前端开发是创建Web页面,实现用户界面交互的过程,代码以HTML的形式运行在用户浏览器上。
    • Web后端开发是开发者编写运行在服务器上的代码,通常来说,这部分的工作需要和数据库打交道,比如读写数据、读写文件、实现业务逻辑等。后端开发者一般需要掌握一种Web编程语言(Java)和一个数据库管理系统(MySQL)。
    • 常见Web后端开发语言:Java、PHP、.NET、GoLang等

    1.2 基于Java的Web应用开发

    • Java在Web应用中仍是最受欢迎的语言,除因用户量大、框架覆盖全面外,Java本身也非常适用于Web开发。
    • Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
    • Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。

    1.3 基于Java的Web开发框架有哪些?

    • Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定、XML或 Annotation(注解)实现配置,运用Java面向对象的特点,面向对象实现请求和响应的流程,支持Jsp,Freemarker,Velocity等视图。
      1. JSP:JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。【前后端一体,已基本淘汰】
      2. SpringMVC:也叫 Spring web mvc,是 Spring 框架的一部分,是在Spring3.0后发布的。基于 MVC 架构,功能分工明确、解耦合。SpringMVC的底层就是servlet,以servlet为核心,接收请求、处理请求,显示处理结果给用户。【Java因此占领市场,配置式编程简化了开发难度】
      3. Spring Boot。微服务时代的宠儿,注解式编程的典范。

    1.4 Spring Boot介绍

    • Spring Boot 是一个基于 Java 的开源框架,用于创建微服务,在Spring Cloud模式下,每个Spring Boot就是一个服务。Spring Boot也可以单独作为一个web应用运行。
    • Spring Boot 为 Java 开发人员提供了一个很好的平台来开发一个可以直接运行的独立和生产级的 Spring 应用程序。 您可以从最低配置开始,而不需要整个 Spring 配置设置。(这使得Spring的入门变得非常简单!)
      在这里插入图片描述
      请添加图片描述

    2 快速入门

    2.1 新建项目

    • 新建项目的方式通常有3种
      1. 在IDEA中创建项目
      1. 在start.spring.io中创建项目
      1. 在start.aliyun.com中创建项目
    • 前2种方式都可能受到某种原因的网络影响无法顺利的完成,因此我们选用方案3
    2.1.1 在浏览器打开start.aliyun.com
    2.1.2 参考如下图填写
    • 可参考顺序操作
      在这里插入图片描述
    • 获取代码时,点击下载,或下载一个压缩文件
    • 将该压缩文件放到某个不含空格、中文、特殊符号的文件夹下并解压
    • 我是复制到D盘的temp目录下,然后解压的,目录结构如下图
      在这里插入图片描述
    2.1.3 用IDEA打开这个项目
    • 使用Maven管理的项目,使用IDEA打开pom.xml这个文件即可
    • 注意pom.xml这个文件非常重要,后面还会多次用到
    • 打开过程操作如下多图
      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述

    2.2 运行项目

    2.2.1 添加资源文件夹和文件
    • 如果已经有resources文件夹了,可以跳过2.2.1这一步
    • 如下操作创建文件夹
      在这里插入图片描述
      在这里插入图片描述
    • 如下操作创建配置文件
      在这里插入图片描述
    • 创建一个application.properties文件,并在其中写入server.port=8080
    • 完成后如下图
      在这里插入图片描述
    2.2.2 开始运行
    • 与Java项目一样,运行main方法即可
    • 操作如下:
      在这里插入图片描述
    2.2.3 在浏览器中访问
    • 在你的浏览器上打开下方地址,出现下图即为成功
    • 传送门
    http://127.0.0.1:8080
    
    • 1

    在这里插入图片描述

    3 Maven

    3.1 介绍

    Maven是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

    我们用Maven做什么:管理依赖、项目打包。

    常用命令(Linux用命令、Windows用按钮):

    1. maven clean:对项目进行清理,删除target目录下编译的内容
    2. maven compile:编译项目源代码
    3. maven test:对项目进行运行测试
    4. maven packet:打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的class文件
    5. maven install:在本地仓库生成仓库的安装包,可供其他项目引用,同时打包后的文件放到项目的target目录下

    3.2 添加一个依赖

    • 推荐一个好用的工具类,帮助我们处理很多机械化的工作。Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”;
       		<dependency>
                <groupId>cn.hutoolgroupId>
                <artifactId>hutool-allartifactId>
                <version>5.3.7version>
            dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 新手如果时间允许,建议对该工具类全部内容进行一遍手动实现【Java基础的内功强化】。
    • Tip:Java中,一般叫tool、util(s)的都是工具类。

    4 代码结构

    • 此部分是非常重要的概念,如果要从事此行业,则必须清楚。

    4.1 MVC概念

    Spring Boot 遵循MVC模式。

    MVC,即 Model 模型、View 视图,及 Controller 控制器。

    View:视图,为用户提供使用界面,与用户直接进行交互。
    Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类: 一类称为数据承载 Bean:实体类,专门用户承载业务数据的,如 Student、User 等 一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理用户提交请求的。
    Controller:控制器,用于将用户请求转发给相应的 Model 进行处理,并根据 Model 的计算结果向用户提供相应响应。
    MVC 架构程序的工作流程:
    (1)用户通过 View 页面向服务端提出请求,可以是表单请求、超链接请求、AJAX 请求等
    (2)服务端 Controller 控制器接收到请求后对请求进行解析,找到相应的 Model 对用户请求进行处理
    (3)Model 处理后,将处理结果再交给 Controller
    (4)Controller 在接到处理结果后,根据处理结果找到要作为向客户端发回的响应 View 页面。页面经渲染(数据填充)后,再发送给客户端。
    在这里插入图片描述

    4.2 Spring Boot 的MVC概念

    Spring Boot 在MVC上有简单优化,但万变不离其宗。

    三层架构是指:视图层 View、服务层 Service,与持久层 Dao,它们分别完成不同的功能。
    View 层:用于接收用户提交请求的代码在这里编写。
    Service 层:系统的业务逻辑主要在这里完成。
    Dao 层:直接操作数据库的代码在这里编写。

    为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。

    即上层对下层的调用,是通过接口实现的。
    而下层对上层的真正服务提供者,是下层接口的实现类。
    服务标准(接口)是相同的,服务提供者(实现类)可以更换。

    这就实现了层间解耦合。

    4.3 Spring Boot MVC 代码结构

    4.3.1 代码结构

    在这里插入图片描述

    4.3.2 调用过程

    在这里插入图片描述

    5 打包运行

    5.1 修改下配置文件

    • 不明白为什么start.spring.io故意留个坑在这里
    • 这里不截图了,看管老爷们摸索下
      1. 打开项目根目录下的pom.xml文件
      1. 找到如下内容,将其中的true改为false
    <skip>trueskip>
    
    • 1
      1. 修改pom.xml后需要reload import或者点击右上角的reimport图标
        在这里插入图片描述

    5.2 开始打包

    • 如下图操作
      在这里插入图片描述
    • 打包完成后:
      在这里插入图片描述

    5.3 运行jar包

    • 如果IDEA中还在运行项目,则点击红色按钮关闭(自行摸索下)
    • 如上图进入到jar文件所在目录
    • 在目录中不要选中任何文件,按住shift键不放,同时点击鼠标右键
    • 选择如下图的“在终端中打开”
      在这里插入图片描述
    • 输入下方命令运行jar包(如果你的jar包和为的名称不同,则输入你的)
    java -jar demo-0.0.1-SNAPSHOT.jar
    
    • 1
    • 运行成功如下图所示,完成后可以在浏览器中访问8080端口试试
      在这里插入图片描述

    6 配置介绍

    • 我们观察到,服务访问的端口是8080,那么如何修改呢?Spring Boot为我们提供了一个最简单的配置方案。
    • 修改如下的内容即可
      在这里插入图片描述
    • 我们采用了默认application.properties作为配置文件,此外还有yml格式的文件,大同小异
    • 配置项很多,我们以后用到什么讲什么
    • 配置项太多,以致于没有人能全部记住,记住也没有意义
    • 配置项介绍参考文档链接

    7 结语

    万事开头难,然后中间难。

  • 相关阅读:
    SAP ABAP 报表输出成 excel 统计图形 (RFC : GFW_PRES_SHOW_MULT)
    【每周AI简讯】Stable Diffusion 3大版本更新
    算法 滑动窗口
    Solidity之变量数据存储和作用域
    MySQL——数据的删除以及MySQL中的约束
    CV计算机视觉每日开源代码Paper with code速览-2023.10.11
    Java Reflection操作Classes的简介说明
    数值分析基础应用线性代数
    NIO讲解
    【C++面向对象侯捷】5.操作符重载与临时对象
  • 原文地址:https://blog.csdn.net/xujianflying/article/details/132945520