Java EE 突击 7 - Spring Boot 程序的创建和使用

Spring Boot 程序的创建和使用

  • [一 . 什么是 Spring Boot ? 为什么要学 Spring Boot ?](#一 . 什么是 Spring Boot ? 为什么要学 Spring Boot ?)
  • [二 . Spring Boot 的优点](#二 . Spring Boot 的优点)
  • [三 . Spring Boot 项目创建](#三 . Spring Boot 项目创建)
    • [3.1 准备工作](#3.1 准备工作)
    • [3.2 创建项目](#3.2 创建项目)
      • [Spring 目录介绍](#Spring 目录介绍)
      • [另一种创建方式 : 网页版](#另一种创建方式 : 网页版)
    • [3.3 注意事项 : 包路径错误](#3.3 注意事项 : 包路径错误)
  • [四 . 总结](#四 . 总结)
    • [面试题 : Spring 和 Spring Boot 有什么区别 ?](#面试题 : Spring 和 Spring Boot 有什么区别 ?)

这个专栏给大家介绍一下 Java 家族的核心产品 - SSM 框架
JavaEE 进阶专栏

Java 语言能走到现在 , 仍然屹立不衰的原因 , 有一部分就是因为 SSM 框架的存在

接下来 , 博主会带大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相关知识点

并且带领大家进行环境的配置 , 让大家真正用好框架、学懂框架

来上一篇文章复习一下吧
点击即可跳转到我的小秘密

一 . 什么是 Spring Boot ? 为什么要学 Spring Boot ?

Spring 的诞生是为了简化 Java 程序的开发的 , 而 Spring Boot 的诞生是为了简化 Spring 程序开发的 .

Spring Boot 翻译过来就是 Spring 的脚手架 , 盖房子的架子就是脚手架,脚手架的作用是砌筑砖墙,浇筑混凝土、方便墙面抹灰,装饰和粉刷的,简单来说,就是使用脚手架可以更方便快速的盖房子 . 而 Spring Boot 就是 Spring 框架的脚手架 , 它就是为了快速开发 Spring 框架而诞生的。

二 . Spring Boot 的优点

  1. 快速集成框架 , Spring Boot 提供了启动时添加依赖的功能,用于快速集成各种框架。

我们之前的 Spring 程序还是需要创建 Maven , 然后添加依赖等等 , 其实跟之前的 Servlet 没啥太大区别 , 都是有点麻烦的

  1. 内置运行容器,无需配置 Tomcat 等 Web 容器,直接运行和部署程序
  2. 快速部署项目,无需外部容器即可启动并运行项目

运行的时候不需要再配置 Tomcat 了 , 就会加快项目部署

  1. 可以完全抛弃繁琐的 XML,使用注解和配置的方式进行开发

xml 是在注解之前(Java 5)出现的产物 , 首先 xml 本身并不属于一门编程语言 , 有其他方法的话 , 谁还会使用这种麻烦的方式 , 而且我们的 IDEA 对于 xml 的识别也是不太好的 , 经常会误报

  1. 支持更多的监控的指标,可以更好的了解项目的运行情况

可以通过网络的配置按钮 , 就可以关掉某个项目 .

要不然我们就需要登录 Linux 云服务器 , 然后进行一系列的命令才能把这个服务关掉

三 . Spring Boot 项目创建

3.1 准备工作

IDEA 社区版(2021.3.+)在创建 Spring Boot 之前必须要安装 : Spring Boot Helper 插件

首先点击 File , 然后点击 Settings

然后稍等片刻 , 我们的插件就安装完毕了

那么怎样去验证我们是否安装成功了呢 ?

我们新建一个项目即可

也可以去看一下已安装的插件

3.2 创建项目

要注意修改下面信息 , 跟图片里面保持一致

重点 : 通过这个页面 , 我们就可以非常简单的添加依赖



点击 Finish 之后 , 我们耐心等待

怎么解决呢 ?

然后刷新一下

然后就等他疯狂下载吧 , 第一次基本都很慢 , 但是一定一定要记得把 Maven 配置成国内源(之前介绍过)

前面的图标变色了就是好了

接下来 , 我们在运行一下 , 能够运行 , 就是彻底启动成功了 .

如果如果你还不放心 , 那么我们可以在 com.example.demo 包底下新建一个类 , 叫做 TestController (具体代码含义不必了解)

java 复制代码
package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {

    @RequestMapping("/sayhi")
    public String sayHi() {
        return "Hi,Spring Boot";
    }
}

这样我们就能在浏览器通过 环回IP(127.0.0.1) 就能看到输出信息了

那么我们当前 Spring 项目的创建一定是没问题了 , 因为我们都能正常使用了 .

接下来 , 给大家分析一下这么多的目录都是什么 ?

首先 , 先把没有用的目录删掉

Spring 目录介绍

另一种创建方式 : 网页版

先访问网站 : https://start.spring.io/

下载之后 , 然后进行解压 , 然后我们接下来可以把之前说的无效的信息删除掉

然后使用 IDEA 打开


然后就打开了 , 接下来我们编写代码试验一下好不好使

成功运行~

3.3 注意事项 : 包路径错误

目前我们是能够正常运行的

但是加入我们有一天老眼昏花 , 手一抖 , 把 TestController 给拽到别的位置去了

那么这种情况我们还能正常运行吗 ?

这是什么鬼 ?

这就引出了我们 Spring Boot 里面最重要的一个知识点 :

SpringBoot 核心的设计思想 : 约定大于配置

就是听人家的话 , 别乱搞

我们约定 : 所有你需要加载到 Spring Boot 里面的类 , 你都要和启动类 (DemoApplication) 在同一级或者下一级 , 然后 Spring Boot 就会去扫描

可以运行

四 . 总结

Spring Boot 是为了快速开发 Spring 而诞生的,Spring Boot 具备:

  1. 快速集成框架,Spring Boot 提供了启动添加依赖的功能,用于快速集成各种框架。
  2. 内置运行容器,无需配置 Tomcat 等 Web 容器,直接运行和部署程序。
  3. 快速部署项目,无需外部容器即可启动并运行项目。
  4. 可以完全抛弃繁琐的 XML,使⽤注解和配置的方式进行开发。
  5. ⽀持更多的监控的指标,可以更好的了解项目的运行情况等特点。

Spring Boot 可使用 IDEA 或网页创建,它的设计思想是约定大于配置,类上标注@SpringBootApplication 就可以启动 Spring Boot 项目了。

面试题 : Spring 和 Spring Boot 有什么区别 ?

首先 , Spring 和 Spring Boot 都属于一家公司

Spring 属于早期的框架 , 它是开源的 , 拥有庞大的社区、用户以及生态链 , 他是一个包含了众多工具和方法的 IoC 容器

Spring Boot 翻译过来就是 Spring 的脚手架 , Spring Boot 创建之初的目的就是加快以及简化 Spring 的开发的 , 随着 Spring 框架的流行以及版本的迭代 , 他的功能越来越多 , 越来越臃肿 , 配置越来越麻烦 , Spring Boot 就应运而生 , Spring Boot 创建的初衷 , 以及现在的目的就是让大家有更好的体验感 .

相关推荐
P.H. Infinity几秒前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天4 分钟前
java的threadlocal为何内存泄漏
java
caridle16 分钟前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^21 分钟前
数据库连接池的创建
java·开发语言·数据库
苹果醋325 分钟前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
秋の花29 分钟前
【JAVA基础】Java集合基础
java·开发语言·windows
小松学前端32 分钟前
第六章 7.0 LinkList
java·开发语言·网络
Wx-bishekaifayuan39 分钟前
django电商易购系统-计算机设计毕业源码61059
java·spring boot·spring·spring cloud·django·sqlite·guava
customer0843 分钟前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源
全栈开发圈1 小时前
新书速览|Java网络爬虫精解与实践
java·开发语言·爬虫