SpringBoot的创建和使用

目录

 前言🍭

一、什么是Spring Boot?为什么要学?🍭

二、Spring Boot 项目创建🍭

1、安装Spring Boot Helper🍉

 2、创建Spring Boot 项目🍉

Ⅰ、熟悉的New Project🍓

 Ⅱ、创建Spring Boot即相关配置选项🍓

 Ⅲ、快速添加依赖🍓

Ⅳ、注意事项🍓

 3、项目目录介绍和运行🍉

Ⅰ、目录介绍🍓

 Ⅱ、运行hello word🍓

Ⅲ、注意事项 :包路径错误🍓

小结:约定大于配置🍓

 三、网页版创建Spring Boot项目(第二套方案)🍭


 前言🍭

❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️

Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客

 前面我们讲完了Spring的相关知识,现在来学习SpringBoot,本篇代码较少,全是干货。

一、什么是Spring Boot?为什么要学?🍭

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

Spring Boot是一个轻量级的框架,它能够帮助开发者快速构建基于Spring框架的应用程序。相比于传统的Spring框架,在使用Spring Boot时,我们不需要进行大量的配置和集成,而是可以通过简单的注释和代码来实现自动化配置和集成。所以对于这个颠覆式的改变,我们把它叫做Spring Boot,但其最核心的还是Spring。

Spring Boot有以下几个优点:

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

二、Spring Boot 项目创建🍭

1、安装Spring Boot Helper🍉

Idea 社区版(其他版本也同样适用),要先安装 Spring Boot Helper 插件才能创建 Spring Boot 项目,如下图所示:

 安装好之后,它的名字就变成了 Spring Initializr and Assistant,如下图所示:

这个插件在 idea 社区版 2022.1.x 之前都免费,idea 2022.2.x 之后开始收费了,所以说版本太高也不一定是好事,有可能要花钱。

如果你的是破解版,是不需要安装这个插件的。

虽然我的是破解版,但我也会将社区版的细节都说到,下面开始创建项目。

 2、创建Spring Boot 项目🍉

Ⅰ、熟悉的New Project🍓

 Ⅱ、创建Spring Boot即相关配置选项🍓

小知识: 发布 Spring Boot 2要求的最低 JDK 8.。2022.12 发布了 Spring Boot 3基于 Spring 6要求的最低 JDK 版本 17. 

 Ⅲ、快速添加依赖🍓

 Lombok:

Lombok是一个通过注解以达到减少代码的Java库。在Spring框架中,Lombok可以用来减少Java类中的冗长的getter、setter方法、构造函数等代码的编写,从而提高开发效率

Lombok提供了很多实用的注解,包括@Data、@Getter、@Setter、@NoArgsConstructor、@AllArgsConstructor等等,这些注解可以自动生成对应的方法,使得Java类的编写更加简洁明了。例如,使用@Data注解可以自动生成getter、setter方法、equals方法、hashCode方法和toString方法。

除此之外,Lombok还提供了许多其他有用的注解,如@Builder可以帮助我们快速构建复杂的Java对象,@Slf4j可以自动生成日志记录器等等。总之,Lombok可以帮助我们更加便捷地编写Java代码,提高开发效率,减少代码量。

需要注意的是,由于Lombok会修改Java字节码,因此在使用Lombok时需要安装相应的插件或者添加相关的依赖,以确保在运行时能够正确地加载生成的代码。

到Spring日志文件的时候我会详细讲解,现在先简单了解,知道Lombok有什么用即可

添加其他依赖,也是类似的,但是现在就只需添加这三个,如果你添加了多余的依赖,因为Spring Boot有自动装配的机制,可能会导致你的项目启动不起来。

千万注意选择2.x的Spring Boot版本

点击 Finish 就完成 Spring Boot 的项目创建了,在pom.xml就可以看见我们添加的依赖。

Ⅳ、注意事项🍓

第⼀次打开 Spring Boot 项目需要加载很久,因为当前 Spring Boot 框架并没有在自己的本地仓库(上面四个依赖在你本地都没有,需要下载)。
为了加速 Spring Boot 项⽬的下载,在打开项目之前,请先确认自己的 Maven 已经配置为国内源:

 国内 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.0http://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>

 初始化:

 如果你创建之后的.java文件是橙色的,说明这个项目你创建好了,但是没有初始化好

下面来手动初始化:

选择Maven:

 这样操作之后,idea才会使用Maven的形式来加载整个项目。加载之后:

 这样就初始化完成了。

 3、项目目录介绍和运行🍉

Ⅰ、目录介绍🍓

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

 上面这些划线的文件可以直接删除:

 按住Ctrl多选,右键点击删除就行。删除之后:

 Ⅱ、运行hello word🍓

 SpringBootdemoApplication(启动类)

package com.example.springbootdemo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication//SpringBoot项目的入口 启动注解
public class SpringBootdemoApplication {public static void main(String[] args) {SpringApplication.run(SpringBootdemoApplication.class, args);}}

在 SpringBootdemoApplication同文件夹下 创建一个TestController

package com.example.springbootdemo;import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;@Controller//当前类为控制器
@ResponseBody//返回的是数据,而非页面
/*@RestController*/ //复合注解 = @Controller+@ResponseBody
public class TestController {//请求映射 url 路由注册@RequestMapping("hi")public String sayHi(String s){//为空为null 默认值处理//if (s==null||s.equals("")){}   正常写法if(!StringUtils.hasLength(s)){  //Spring中更简单的写法 判断是否有长度s="张三";}return "你好"+s;}
}

运行启动类的main方法,记得是运行启动类,运行之后:

 控制台信息:

 随便去一个浏览器访问 localhost:8080/路由id  访问

 也可以通过 127.0.0.1:8080/路由id  访问

上面是s为空,默认值,也可以自己传值: 

Ⅲ、注意事项 :包路径错误🍓

我们尝试将 TestController 移动到其他包下,比如以下方式:

运行我们的项目,发现程序报错了,如下图所示:

 这说明 Spring Boot 项目没有将对象注入到容器中。

正确路径:

这时候 Spring Boot 项目才能正常的将 bean 注入到容器中。

小结:约定大于配置🍓

以上情况反应了 Spring Boot 项目的另⼀个特点: 约定⼤于配置。 

对比 Spring 的项目我们也可以看到这⼀特点,比如在 Spring 中也是要配置 Bean 的扫描路径的,而 Spring Boot 则不需要,Spring 配置如下:

 三、网页版创建Spring Boot项目(第二套方案)🍭

不使用 Idea 也可以创建 Spring Boot 项⽬,我们可以使用 Spring 官方提供的网页版来创建 Spring Boot 项目。还在但你实在创建不了的时候,可以通过网页去创建Spring Boot项目。
网页版创建项目先访问:https://start.spring.io,如下图所示:

 添加依赖

 点击下载,会下载一个压缩包

 下载之后,解压缩(为了方便,我就直接放在桌面)

 可以看到,这里和我们idea里面创建的是一样的,一样的,可以把下面这些用不到的文件删除(当然也可以不删)

删完之后复制路径(路径里面不要出现中文)

 然后通过idea去打开,可能还需要初始化一会,可以看到下面,项目初始化完成

 启动项目,发现它没有自动关闭,就是创建完成了

 可以将这个网页版放在自己电脑中,别去删除它,以防哪天突然创建不了,以备不时之需。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/7205.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

银河麒麟服务器v10 sp1 安装 redis

1、下载redis安装包 https://download.redis.io/releases/ 本文下载redis-7.0.11.tar.gz包&#xff0c;请按照自己需求下载相应文件。 2、将下载后的.tar.gz压缩包上传到到服务器自定义文件夹下 本人上传为系统的下载文件夹下&#xff0c;可以直接上传至指定目录下&#xff…

【sql】SQL回顾总结,超级全

SELECT&#xff1a;语句用于从数据库中选取数据 从 "Websites" 表中选取 "name" 和 "country" 列 SELECT name,country FROM Websites 从 "Websites" 表中选取所有列 SELECT * FROM Websites; SELECT DISTINCT&#xff1a;用于返…

js 复制对象排序乱了

表格需要根据对象的key来渲染表头&#xff0c;在控制台查看到数组中的对象的属性排序是正确的&#xff0c;但是右键复制其中一个对象再打印出来&#xff0c;发现乱序了&#xff0c;使用Object.keys输出也是乱序的。 1.问题 原数组如下&#xff1a; 可以看到对象中2026在2025之…

留学生如何利用好Chat GPT,助力留学生活?

目录 01.什么是Chat GPT &#xff1f; 02.Chat GPT使用的问题 03.Chat GPT为留学生活提供了哪些便利&#xff1f; 04.海外院校对Chat GPT的态度 禁止使用 允许使用 05.如何正确使用呢&#xff1f; 07.使用技巧 08.使用的注意事项 寄语 01.什么是Chat GPT &#xff1f;…

【Docker】基于jib插件,实现Docker部署springboot项目

文章目录 创建springboot项目jib插件介绍使用打tar包 Docker部署springboot项目 在工作中&#xff0c;作为一名后端开发人员&#xff0c;项目部署运维的事我们可能都要同时干&#xff0c;今天想跟大家聊聊关于springboot项目使用docker部署相关操作。后期还会跟大家分享docker-…

【前端】案例1 轮播图【HTML/CSS/JS】+JQ

引入JQ <script src"https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>CSS代码 /* 轮播图部分 */.two_content {width: 100%;height: 490px;position: relative;overflow: hidden;cursor: pointer;z-index: 1;}.bigimages {width: 10…

【ARM】-异常与中断

文章目录 中断中断请求、中断源中断服务程序保存现场、恢复现场中断仲裁、中断优先级中断嵌套 异常广义上的异常同步异常异步异常精确异步异常&#xff08;Precise Asynchronous Exception&#xff09;非精确异步异常&#xff08;Imprecise Asynchronous Exception&#xff09;…

复杂onnx解决方案(以sparseconv为例)

目录 前言1. 稀疏卷积2. Sparse Convolution Model2.1 输入数据模型2.2 卷积核2.3 输出的定义2.4 计算流程2.4.1 构建 hash table2.4.2 构建 Rulebook2.4.3 在GPU上计算Pipeline 2.5 Summary 3. SCN导出3.1 实现trace3.2 导出onnx3.3 CenterPoint SCN导出3.4 执行图的构建3.5 o…

Scrapy框架之Docker 安装 MongoDB

目录 Docker安装 MongoDB Docker 安装 MongoDB 第一次 MongoDB基础命令 算机存储数据的概念 查看数据库 切换数据库/创建数据库 删除当前数据库 创建集合 查看集合 删除集合 数据的增加 样例 数据的更新 举例 Docker安装 MongoDB Docker Docker 是一个开源的应…

Raft算法之Leader选举

Raft算法之Leader选举 一、Leader选举概述 Raft 使用心跳&#xff08;heartbeat&#xff09;触发Leader选举。当服务器启动时&#xff0c;初始化为Follower。Leader向所有Followers周期性发送heartbeat。如果Follower在选举超时时间内没有收到Leader的heartbeat&#xff0c;就…

【近场社交项目】数据库系统期末设计——需求分析部分

【近场社交项目】数据库系统设计——需求分析&#x1f60e; 前言&#x1f64c;1.需求求分析(用户部分为例&#xff09;1.2用户数据字典1.2.1用户信息表&#xff08;数据结构&#xff09;&#xff1a;数据项间的关系和结构定义&#xff1a; 1.2.2.个人资料表&#xff08;数据结构…

针对苹果macOS恶意软件RustBucket,现有防病毒工具难以有效检测

恶意软件在苹果 macOS 平台上呈现激增趋势&#xff0c;最新由安全公司 Elastic 的研究人员曝光了一个名为 RustBucket的木马。该恶意软件可隐藏在受害者设备中&#xff0c;并自动调整配置&#xff0c;以规避安全检测&#xff0c;难以被发现。 据了解&#xff0c;一种使用 Apple…