当前位置: 首页 > news >正文

Spring(四):Spring Boot 的创建和使用

关于Spring之前说到,Spring只是思想(核心是IOC、DI和AOP),而具体的如何实现呢?那就是由Spring Boot 来实现,Spring Boot究竟是个啥呢?

什么是Spring Boot,为什么要学Spring Boot

 Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发
的。
Spring Boot 翻译⼀下就是 Spring 脚⼿架,什么是脚⼿架呢?如下图所示

盖房⼦的这个架⼦就是脚⼿架,脚⼿架的作⽤是砌筑砖墙,浇筑混凝⼟、⽅便墙⾯抹灰,装饰和粉刷 的,简单来说,就是使⽤脚⼿架可以更快速的盖房⼦。
⽽ Spring Boot 就是 Spring 框架的脚⼿架,它就是为了快速开发 Spring 框架⽽诞⽣的。
Spring Boot 相⽐于 Spring 有一个质的提升。

Spring Boot的优点

说是说,Spring Boot 有质的提升,具体体现在如下几个方面:

  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
  • 内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。
  • 快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬。
  • 可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发。
  • ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况。

我们一个一个来介绍:

创建Spring Boot

首先,我需要下载一个插件 : Spring Boot Helper ;这个插件只有社区版需要下载,专业版的不需要去下载,由于我的是专业版的,所以在插件中找不到,所以我随便在网上照了一张图:

ok,这个下载好了以后,就变成了这个:

 ok,点击 Next 继续走,来到这个界面

 简单的选择一遍:

 继续点击Next 往下走:

来到这个页面:

 这个就是之前在Maven 中央仓库中引入的依赖,这里我们可以一次性选择完全部,并且,不需要我们手动去选版本,Spring 帮我们自动匹配了与 jdk 匹配的版本。

 再次点击 Next 来到最后一步:

这是我们最熟悉的一步了,取个名字,选择一个存放路径,点击 Finish 就创建完毕了。

创建完毕就来到这个页面:

 

 为了看着简介,我还是删了。

到这里创建就结束了。

为啥这里要演示一遍创建?因为学到后面就会发现创建才是Spring Boot 中最难的东西,总会出现一些莫名其妙的错误。

之前的文章中我也介绍过 Maven 国内源的配置,需要的可以去看看,这里就不再重复了。

Spring Boot 的使用

项目目录介绍和运行

Spring Boot 项⽬有两个主要的⽬录:
  1. src/main/java 为 Java 源代码。
  2. src/main/resources 为静态资源或配置⽂件:
    • /static:静态资源⽂件夹;
    • /templates:模版资源⽂件夹

我们学习 JavaEE 就是⽤来实现 Web 项⽬或接⼝的,⽽之前是 Spring 其实是⼀个普通 Java 项⽬,没 办法直接和浏览器进⾏互动,所以接下来我们要⽤ Spring Boot 来实现和浏览器及⽤户的交互。

在创建的项⽬包路径下创建 UserController ⽂件,实现代码如下:
package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("/sayhi")public String sayHi(){return "Hi,Spring Boot.";}
}

结果如下:

这里来解释一下:为啥在《Spring中Bean的生命周期和作用域》这一篇文章中需要配置文件,将Bean 对象等配置进 Spring 中,而这里却不需要在配置呢?

如图:

 看上述那个注解, @SpringBootApplication ,事实上,我们在创建的时候就已经配置好了,不需要我们在手动配置;

有了这个注解,他就会扫描demo 这个包已经其子包 Spring Boot 项⽬没有将对象注⼊到容器中。

 现在我们将 这个 Controller 类移动到与 demo 包平级,试试看能否打印这个 Hi,Spring Boot.

 我们可以看到,这样是无法访问的。

小结:约定大于配置

以上情况反应了 Spring Boot 项⽬的另⼀个特点:约定⼤于配置。
对⽐ Spring 的项⽬我们也可以看到这⼀特点,⽐如在 Spring 中也是要配置 Bean 的扫描路径的,⽽  Spring Boot 则不需要,Spring 配置如下:

总结

Spring Boot 是为了快速开发 Spring ⽽诞⽣的,Spring Boot 具备:
  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
  • 内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。
  • 快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬。
  • 可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发。
  • ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况等特点。
Spring Boot 可使⽤ Idea 或⽹⻚创建,它的设计思想是约定⼤于配置,类上标注
@SpringBootApplication 就可以启动 Spring Boot 项⽬了。
http://www.lryc.cn/news/131795.html

相关文章:

  • SpringCloud Gateway:status: 503 error: Service Unavailable
  • 【产品规划】功能需求说明书概述
  • shell连接ubuntu
  • 华为将收取蜂窝物联网专利费,或将影响LPWAN市场发展
  • 【3Ds Max】图形合并命令的简单使用
  • Flink的常用算子以及实例
  • 网络安全---负载均衡案例
  • 解决nginx的负载均衡下上传webshell的问题
  • vue 关闭prettier警告warn
  • 听GPT 讲Prometheus源代码--rules
  • TIA博途_通过EXCEL快速给PLC程序段添加注释信息的方法示例
  • 【力扣】496. 下一个更大元素 I <单调栈、模拟>
  • Java调用https接口添加证书
  • C++入门:函数缺省参数与函数重载
  • Android 场景Scene的使用
  • Python tkinter Notebook标签添加关闭按钮元素,及左侧添加存储状态提示图标案例,类似Notepad++页面
  • 基于web网上订餐系统的设计与实现(论文+源码)_kaic
  • C#生产流程控制(串行,并行混合执行)
  • 【广州华锐视点】VR线上教学资源平台提供定制化虚拟现实学习内容
  • 计算机视觉的应用11-基于pytorch框架的卷积神经网络与注意力机制对街道房屋号码的识别应用
  • 正则表达式:学习使用正则表达式提取网页中的目标数据
  • 最长重复子数组(力扣)动态规划 JAVA
  • JavaWeb_LeadNews_Day6-Kafka
  • ATTCK覆盖度97.1%!360终端安全管理系统获赛可达认证
  • 透视俄乌网络战之一:数据擦除软件
  • 微服务中间件--Nacos
  • 驱动开发点亮led灯
  • 回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测(多指标,多图)
  • 数学建模之“TOPSIS数学模型”原理和代码详解
  • threejs使用gui改变相机的参数