第一个Spring Boot程序

这篇具有很好参考价值的文章主要介绍了第一个Spring Boot程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、Spring Boot介绍

二、创建Spring Boot项目

1、插件安装(专业版不需要)

2、创建SpringBoot项目

(1)这里如果插件下载失败,解决方案:

(2)项目启动失败,解决方案:

三、项目代码和目录介绍

1、父工程

2、目录介绍

四、运行项目

五、输出 Hello world

六、Web服务器

七、请求响应流程分析

八、访问出错的分析及解决方案

1、无法访问此网站

2、错误码404

(1)URL写错:

(2)注解写错:

3、错误码500


一、Spring Boot介绍

        官方(https://spring.io/)的介绍:

第一个Spring Boot程序,spring boot,java,github

        可以看到,Spring 让 Java程序更加快速、简单和安全Spring对应速度、简单些和生产力的关注,使其成为世界上最流行的Java框架

        Spring官方提供了很多开源的项目,覆盖范围从Web开发到大数据,Spring发展到了今天,已经形成了自己的生态圈。我们在开发时,也倾向于使用Spring官方提供的技术,来解决对应的问题。

第一个Spring Boot程序,spring boot,java,github

        上面这些项目,都是基于Spring Framework来进行开发的。Spring Framework存在配置多,入门难的问题,Spring官方也意识到了这个问题,为了简化开发中的使用,从而创造性的推出了SpringBoot

        而Spring Boot的诞生,就是为了简化Spring程序开发的。翻译过来就是Spring Boot是Spring的脚手架,脚手架如图:

        第一个Spring Boot程序,spring boot,java,github

        盖房子的这个架子就是脚手架,脚手架的作用就是砌筑砖墙,浇筑混凝土、方便墙面抹灰,装饰和粉刷的,简单来说,就是使用脚手架可以更快速的盖房子。

        以前铺路是这样子的:

        第一个Spring Boot程序,spring boot,java,github

        改造之后是这样子的:

        第一个Spring Boot程序,spring boot,java,github

        可以看到,铺路的技术更新后,效率会有质的提升,而Spring Boot相比于Spring也是如此。

二、创建Spring Boot项目

        这里介绍使用IDEA创建。

1、插件安装(专业版不需要)

        如果IDEA用的是专业版,可以跳过这一步,社区版的版本则需要是在2021.1~2022.1.4版本范围内,这个插件的免费版本,也只支持这个范围内的版本。最新版也能下,不过要钱,学习阶段没必要花钱买。而专业版的IDEA内置了这个插件,就不需要下载了。

        在IDEA的插件中搜索,找到下面这个插件,再点击 Plugin homepage:

第一个Spring Boot程序,spring boot,java,github

        这里不要自己点击Install,因为这个插件是要钱的,点了的话就要重装IDEA了。完成上面步骤,就会来到这个界面:

第一个Spring Boot程序,spring boot,java,github        现在官网上没有免费版本了,大家去网上找找资源吧,版本是2021.1~2022.1.4范围内的就是免费的,以前官网上是有这个页面的,免费版。

第一个Spring Boot程序,spring boot,java,github

        插件对IDEA版本有要求,IDEA版本需要再2021.1~2022.1.4范围内,不在这个范围内需要重装IDEA,卸载要删除注册表的内容。

        下面安装插件步骤,按照下面步骤操作,如图:
第一个Spring Boot程序,spring boot,java,github

        选择刚才下载的插件,安装、重启即可。重启后查看已安装的插件,安装后,它的名字就变成了 Spring Initializr and Assistant,如下图所示(我的是专业版,本身内置了,和社区版下载的名字不同):

第一个Spring Boot程序,spring boot,java,github
第一个Spring Boot程序,spring boot,java,github

        如果是社区办刚安装完成,千万不用点击update,这个是更新的意思,更新了就要钱了,到时候又要重装一次IDEA,会很麻烦。

2、创建SpringBoot项目

        创建Spring Boot项目的方式有很多,比如用IDEA、官网、阿里云、只创建个空的mave项目等等。

a、使用IDEA创建

        File -> New -> Project

第一个Spring Boot程序,spring boot,java,github

        点击Next,进入下面这个界面:

第一个Spring Boot程序,spring boot,java,github

上图说明:

1、SpringBoot版本,选择3.X的即可,这个版本会随着SpringBoot的升级而发生变化,是不固定的。3.X版本使用的是jdk17,3.X以下使用的是jdk8。

2、打钩的表示创建项目之初,就引入的第三方依赖(框架、插件、组件........)。

        然后点击Create,创建项目,进入下面的界面:

第一个Spring Boot程序,spring boot,java,github

        这样就创建好了一个Spring Boot项目了。

注意事项

第一次打开Spring Boot项目需要加载很久,因为当前Spring Boot框架并没有在自己的本地仓库。为了加速Spring Boot项目的下载,在打开项目之前,需要在自己的Maven配置好国内源,也就是本地仓库的 .xml 文件,添加一些内容,配置国内源,上篇文章有介绍:Maven-CSDN博客

(1)这里如果插件下载失败,解决方案

1)确认是否国内源

2)切换网络。如果网络不好,进行切换网络后,会造成有些jar下载了一半,还有没下载完的,但下次再创建项目的时候,因为有了对应的jar包,不会重新下载,而是直接使用,所有我们要清除本地仓库(或者清除指定jar包的路径,需要一定的经验)。

3)重新刷新Maven,如图:
第一个Spring Boot程序,spring boot,java,github

4)build的插件下不下来,添加版本号,如图:

第一个Spring Boot程序,spring boot,java,github

(2)项目启动失败,解决方案:

第一个Spring Boot程序,spring boot,java,github

建议:把占用8080端口的程序给关闭掉,或者修改应用(Tomcat)的端口为其他的。  

1、关闭8080的端口号:

第一个Spring Boot程序,spring boot,java,github

2、修改应用的端口:

第一个Spring Boot程序,spring boot,java,github

b、官网创建

        也有网页版创建Spring Boot项目,要在官网上创建,网址:https://start.spring.io/

        进入官网后,按照下面步骤依次点击,如图:

第一个Spring Boot程序,spring boot,java,github

第一个Spring Boot程序,spring boot,java,github

        就会出现下面这个页面:

第一个Spring Boot程序,spring boot,java,github

        和我们用IDEA创建项目时,出现的选项一样,只是排版可能会有差异,而我们在IDEA创建Spring Boot项目时,也是在这里获取到代码的,所以如果网页不好,可能在IDEA创建项目的界面也会卡顿,加载不出来这种情况。

c、阿里云创建

       创建Spring Boot项目,还有其他方式,比如阿里云创建,网址:https://start.aliyun.com/

第一个Spring Boot程序,spring boot,java,github

        和官网上的操作差不多,官网的服务器在国外,加载比较慢,这里就没展示了。

        还有一种创建项目方式:不基于任何页面,用插件进行创建也就是创建空的maven项目,自己写依赖、启动类


三、项目代码和目录介绍

        观察pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>S202404023</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>S202404023</name>
    <description>S202404023</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

        其中,这里的一些信息就和创建项目时候设置的内容匹配上了,如图:

第一个Spring Boot程序,spring boot,java,github

        pom.xml文件里的具体信息,我们不需要过度关注,主要看<dependencies>标签里的内容。里面引入了两个依赖:

spring-boot-starter-web包含了web应用开发所需要的常见依赖

spring-boot-starter-test包含了单元测试所需要的常见依赖

1、父工程

        我们发现,下面这个依赖没有引入,但jar包也也正常引入到项目了,如图:

第一个Spring Boot程序,spring boot,java,github

        第一个Spring Boot程序,spring boot,java,github

        去这个路径下找找,可以看到下面这些文件:

第一个Spring Boot程序,spring boot,java,github

        可以看到,本地仓库的jar包也下载下来了,而这些依赖,为什么没有version版本号,程序也能正常运行呢?
        因为每一个SpringBoot工程,都有一个父工程。而这里所依赖的版本号,父工程会统一进行管理父工程指定版本号后,就会自动引入和指定版本对应的依赖,创建的SpringBoot项目,会继承SpringBoot父工程

        如图:

第一个Spring Boot程序,spring boot,java,github

第一个Spring Boot程序,spring boot,java,github

第一个Spring Boot程序,spring boot,java,github

        所有需要的依赖版本都在上面这里,我们不需要关心,这些会由父工程进行统一管理。

2、目录介绍

        如图:

        第一个Spring Boot程序,spring boot,java,github

        Spring Boot项目有两个主要(下面的前两个)的目录:

src/main/javaJava 源代码

src/main/resources静态资源或配置文件

/static静态资源文件夹,比如前面学的js、css、html等静态文件,不需要服务器数据进行绑定的页面

/templates模版资源文件夹,主要存放动态模版文件,比如:JSP,Freemarker,Thymeleaf等需要服务器动态渲染数据的文件

src/test/java测试的源代码

target编译后的文件路径

pom.xmlMaven的配置文件


四、运行项目

        打开java文件下面的class文件,如图:

        第一个Spring Boot程序,spring boot,java,github

        第一个Spring Boot程序,spring boot,java,github

        点击右三角符号,就能启动程序了,如图:

第一个Spring Boot程序,spring boot,java,github

        第一个Spring Boot程序,spring boot,java,github

        有上面这两个日志,就说明我们的Spring Boot程序启动成功了。


五、输出 Hello world

        这里开始编写Spring Boot的Hello world程序,使用Spring Boot来实现和浏览器及用户的交互,在创建项目包路径下创建UserController文件,如图:

第一个Spring Boot程序,spring boot,java,github第一个Spring Boot程序,spring boot,java,github

        代码:

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

@RestController
public class UserController {
    @RequestMapping("/hello")
    public String hello1() {
        return "Hello World";
    }
}

注意:为了和注解里的进行区分,这里的方法名,我多加了个1,这里的方法名怎么写都是ok的,和方法名没有关系,到时候浏览器输入的URL要和注解里的一样,只要注解里面放的不要写错就好了。

      然后再启动程序:

第一个Spring Boot程序,spring boot,java,github        第一个Spring Boot程序,spring boot,java,github        现在去浏览器,输入URL:127.0.0.1:8080/hello,如图:

        第一个Spring Boot程序,spring boot,java,github

        浏览器输出了Hello World,就是hello1方法返回的字符串。


六、Web服务器

        上面的浏览器和服务器(hello world程序)的进行交互时,使用的就是HTTP协议,我们可以使用fiddler抓包看看,如图:

第一个Spring Boot程序,spring boot,java,github

        如图:

第一个Spring Boot程序,spring boot,java,github

        前面我们已经学习过了HTTP协议,知道了HTTP协议就是HTTP客户端和HTTP服务器之间的交互数据格式

        而Web服务器就是对HTTP协议进行了封装程序员不需要直接对协议进行操纵(自己写代码区解析http协议规则),让Web开发更加便捷,所以Web服务器也被称为WWW服务器;而HTTP服务器的主要功能是:提供网上信息浏览服务

        常见的Web服务器有:Apache,Nginx,IIS,Tomcat,Jboss等等。

        Spring Boot内置了Tomcat服务器,无需配置即可直接运行,如图:第一个Spring Boot程序,spring boot,java,github

第一个Spring Boot程序,spring boot,java,github

        Tocmat默认端口号是:8080,我们也能在任务管理器观察这个进程,先去cmd(指令:netstat -ano|findstr 8080)上查找8080的进程号,如图:
第一个Spring Boot程序,spring boot,java,github

        然后是第一行,在任务管理器找到19820的进程,如图:
第一个Spring Boot程序,spring boot,java,github

        这个就是我们刚才写的程序,还在运行。我们在浏览器输入的URL,访问的也就是这个进程。


七、请求响应流程分析

        浏览器输入URL之后,发起请求,就和服务器之间建立了连接,如图:

第一个Spring Boot程序,spring boot,java,github

        浏览器输入完网址:http://127.0.0.1:8080/user/sayhi,就是向本地计算机中的8080端口程序,在 /user/sayhi 资源位置获取数据,进行发送请求8080端口程序接受到请求后,在 /user/sayhi 位置找到数据,发送给浏览器

浏览器

1、输入网址:http://127.0.0.1:8080/user/sayhi

2、通过 127.0.0.1 定位网络上的一台计算机,这里的IP地址指的是本机。

3、通过端口号 8080 找到计算机对应的进程,也就是本机正在运行的8080端口号程序。

4、通过 /user/sayhi 找到请求的资源位置。(资源:对计算机来说就是数据;Web资源:通过网络可以访问到的资源,通常指服务器上的数据)

服务器

1、接收到浏览器发送的信息(如:/user/sayhi)。

2、在服务器上找到 /user/sayhi 的资源。

3、把资源发送给浏览器。


八、访问出错的分析及解决方案

1、无法访问此网站

第一个Spring Boot程序,spring boot,java,github第一个Spring Boot程序,spring boot,java,github

        这种情况一般是服务器未成功启动,也就是tomcat未启动,或者是IP/端口写错。左边是把程序关了,右边是端口号写错了。打开fiddler的话,界面会不一样,如图:

第一个Spring Boot程序,spring boot,java,github

第一个Spring Boot程序,spring boot,java,github

        还有可能是IP是外网的,可能端口号未开放,暂时不讨论

2、错误码404

简单补充:http状态码,如下:

200:成功

3XX:重定向

4XX:客户端错误

5XX:内部错误 

        这种情况一般是URL写或者注解写错了当遇到这种情况可以去检查URL和代码中注解

(1)URL写错:

        如图:

第一个Spring Boot程序,spring boot,java,github

        这时候把URL改成正确的就好了。

(2)注解写错:

        我们把注解改一下,如图:

        第一个Spring Boot程序,spring boot,java,github

        页面会出现如下图的情况:

第一个Spring Boot程序,spring boot,java,github

        错误码404,指找不到要访问的资源。在fiddler观察,如图:
第一个Spring Boot程序,spring boot,java,github

3、错误码500

        服务器内部出现错误一般是服务器的代码执行过程中遇到了一些特殊情况(服务器异常崩溃)会产生这个状态码
        现在我们修改一下代码,然后再重启服务器,如图:

第一个Spring Boot程序,spring boot,java,github

        然后在浏览器中进行访问,就会出现下面这个界面:

第一个Spring Boot程序,spring boot,java,github

        这时候我们就要去看代码了,可以通过观察日志的方式,查找问题所在,如下是报错的日志:

第一个Spring Boot程序,spring boot,java,github

        异常信息提示了 UserController.java:10 ,错误在第10行,错误原因是:算术异常:除数为0,;这时候我们按照异常提示,去解决对应的问题即可

        当我们看到500错误码,要养成习惯,第一反应是去看后端日志

        看日志也是有方法的要一段一段的看,上图就是我截取的一段,先看最后一段的首行,如果看到后面几行还是看不懂,就不用看了,后面日志错误信息只会越来越细,更加难看懂文章来源地址https://www.toymoban.com/news/detail-857673.html


都看到这了,点个赞再走吧,谢谢谢谢谢

到了这里,关于第一个Spring Boot程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Spring Boot学习】Spring Boot的创建,第一个Spring Boot页面.

    前言: 大家好,我是 良辰丫 ,前面几篇文章,我们系统的学习了Spring框架,今天开始,我们就要学习更高级的SpringBoot框架了,不要着急哦,我们一起畅游SpringBoot框架的世界.💌💌💌 🧑个人主页:良辰针不戳 📖所属专栏:javaEE进阶篇之框架学习 🍎励志语句:生活也许会让我们遍体

    2024年02月08日
    浏览(56)
  • 微信小程序的授权登录-Java 后端 (Spring boot)

    微信开发文档链接:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 一个可以测试的微信小程序 此微信小程序的APPID和APPscret(至开发者后台获取) 从时序图我们可以了解到流程大致分为两步: 小程序端获取code后传给Java后台 Java后台获取code后向微信后台接口

    2024年02月09日
    浏览(57)
  • 使用Spring Boot和Docker快速部署Java应用程序

    随着微服务的兴起,容器化技术已成为现代应用程序开发和部署的关键部分。Docker作为一种流行的容器化解决方案,广泛应用于企业和开发者社区。与此同时,Spring Boot作为一种优秀的Java开发框架,大大简化了基于Spring的应用程序开发。在本文中,我们将探讨如何将Spring Bo

    2024年02月01日
    浏览(62)
  • 【Spring Boot】第一个Spring Boot项目:helloworld

    本节从简单的helloworld程序开始介绍创建Spring Boot项目的方法和流程,以及Spring Boot项目结构,最后介绍项目中非常重要的pom.xml文件。 有两种方式来构建Spring Boot项目的基础框架: 第一种是使用Spring官网提供的构建页面; 第二种是使用IntelliJ IDEA中的Spring插件。 (1)使用Spri

    2024年02月13日
    浏览(64)
  • “深入理解Spring Boot:构建高效、可扩展的Java应用程序“

    标题:深入理解Spring Boot:构建高效、可扩展的Java应用程序 摘要:Spring Boot是一个用于构建Java应用程序的开源框架,它提供了一种简单且高效的方式来创建独立的、生产级别的应用程序。本文将深入探讨Spring Boot的核心概念和特性,并通过示例代码展示如何使用Spring Boot构建

    2024年02月15日
    浏览(62)
  • “深入了解Spring Boot:构建高效、可扩展的Java应用程序“

    标题:深入了解Spring Boot:构建高效、可扩展的Java应用程序 摘要:Spring Boot是一款快速构建Java应用程序的开发框架,它基于Spring框架,提供了一系列的自动化配置和约定,使得开发者能够更快速、更高效地构建出高质量的应用程序。本文将深入探讨Spring Boot的核心特性和使用

    2024年02月14日
    浏览(57)
  • 基于Java+spring boot的旅游景区小程序的设计与实现

    👇其他专栏推荐👇: 计算机毕业设计100套 微信小程序项目实战 java项目实战 🥰需要源码可以滴滴我🥰 目录 摘要 1 绪论 1.1 国内外研究现状 1.2 研究意义 2 开发技术介绍 2.1 Java语言 2.2 spring boot框架 2.3 微信小程序 3 系统分析 3.1 可行性分析 3.1.1 经济可行性 3.1.2 技术可行性

    2024年02月04日
    浏览(41)
  • java版+免费商城搭建+小程序商城免费搭建+Spring Cloud + Spring Boot + MybatisPlus + 前后端分离 + 二次开发

       J2EE企业分布式微服务云快速开发架构 Spring Cloud+Spring Boot2+Mybatis+Oauth2+ElementUI 前后端分离 1. 鸿鹄Cloud架构清单 2. Commonservice(通用服务) 通用服务:对spring Cloud组件的使用封装,是一套完整的针对于分布式微服务云架构的解决方案。如:注册中心、配置中心、网关中心、

    2024年02月15日
    浏览(58)
  • Spring Boot学习随笔- 集成MyBatis-Plus,第一个MP程序(环境搭建、@TableName、@TableId、@TableField示例)

    学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备! MyBatis-Plus是一个基于MyBatis的增强工具,旨在简化开发,提高效率。它扩展了MyBatis的功能,提供了许多实用的特性,包括强大的CRUD操作、条件构造器、分页插件、代码生成器等。MyBa

    2024年02月04日
    浏览(56)
  • Spring Boot学习随笔- 集成MyBatis-Plus(一),第一个MP程序(环境搭建、@TableName、@TableId、@TableField示例)

    学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备! MyBatis-Plus是一个基于MyBatis的增强工具,旨在简化开发,提高效率。它扩展了MyBatis的功能,提供了许多实用的特性,包括强大的CRUD操作、条件构造器、分页插件、代码生成器等。MyBa

    2024年02月04日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包