IDEA 2022.3.3 创建SpringBoot项目

news2024/11/24 17:11:02

目录

步骤01:快速创建项目

步骤02:选择依赖

步骤03:pom文件中版本问题

​步骤04:启动测试

4.1、认识引导类

4.2、创建Controller类进行测试

可能遇到的问题及解决方案

附件1:pom文件源码

附件2:项目结构图


在IDEA 2022.3.3汉化版上快速创建springBoot项目。

需要注意的是:该功能在社区版的IntelliJ IDEA上可能是不存在的。

创建步骤如下。

步骤01:快速创建项目

创建项目时选择Spring Initializr,如下图所示:

步骤02:选择依赖

如图所示。选择项目所需要添加的依赖,之后IDEA 会自动把选中的依赖添加到项目的pom中。

需要注意的是:当前案例使用的JDK 8 ,所以Spring Boot的版本需要调整为2.x.x。

 Spring Boot版本号:

  • 注意SpringBoot版本的选择,如果使用JDK8的话,则选择2.x.x版本。
  • Spring官网介绍:如果选择了3.0.0版本的SpringBoot,JDK最低要17版本
  • 不适配会造成Application运行失败。

  • snapshot是工程版本上的概念,表示快照版本,也就是相对稳定版本,但是会再进行改进,最好不要用于生产环境。
  • 在生产环境,应当选择release(发布版本)

 

步骤03:pom文件中版本问题

创建完项目之后,修改maven仓库为本地仓库。

同时需要等待各种文件的下载。

创建完成之后,项目结构为:

问题:

        创建完成之后,可能会遇到在pom.xml文件里面的spring-boot-maven-plugin这个依赖爆红没有导进去。如下图所示:

问题分析:

        因为在maven的阿里云仓库里面没有找到这个依赖。
问题解决:

        在pom.xml文件中找到父工程的版本号,复制到报红的依赖中,让其去继承。如下图:

步骤04:启动测试

4.1、认识引导类

 该类在创建项目的时候,自动生成。是SpringBoot工程的启动类。

/**
 * spring boot 工程都有一个启动类,这是工程的入口
 * 并在引导类上添加注解 @SpringBootApplication
 * */
@SpringBootApplication
public class SpringBootTest01Application {
  
    public static void main(String[] args) {
        SpringApplication.run(SpringBootTest01Application.class, args);
    }

}

4.2、创建Controller类进行测试

引导类需要在Controller控制器类的上一级目录!

package cn.shq.controller;

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

@RestController //是 @Controller和 @ResponseBody的组合注解,返回的都是字符。
public class HelloController {
    @GetMapping("hello") //指定使用get方式的请求。
    public String Hello(){
        return "hello world !";
    }
}

 此时可以启动项目

 浏览器访问结果:

 项目访问成功,可以后续编程。

可能遇到的问题及解决方案

问题1:

        启动SpringBoot项目后,打开浏览器访问tomcat服务器出现以下情况:

        Whitelabel Error Page(也叫白页),就是SpringBoot中HTTP请求出现异常的说明页。

问题分析:

springboot的白页出现的真正原因,主要是没有合适的匹配情况出现404情况。然后跳转到系统默认的第一个ErrorPage,也就是白页内容上。

具体解决方案:等待后续更新。

目前提供的参考办法:访问地址写全路径------>localhost:8080/hello

问题2:

        java: 警告: 源发行版 17  需要目标发行版  17

解决步骤: 在设置中将java编译器中的字节码版本设置为JDK对应版本。

 修改pom文件中java编译版本。

问题3: 

        java: 无法访问org.springframework.boot.SpringApplication
        错误的类文件:
/D:/tools/maven/apache-maven-3.6.3/respo/liuxinRespos/org/springframework/boot/spring-boot/3.0.0/spring-boot-3.0.0.jar!/org/springframework/boot/SpringApplication.class

        类文件具有错误的版本61.0,应为52.0。

        请删除该文件或确保该文件位于正确的类路径子目录中。

原因: 还是因为pom文件中父工程的版本号为3.x.x,与所使用的JDK版本不匹配。

解决步骤 :

附件1: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>2.7.12</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>cn.shq</groupId>
    <artifactId>springBoot_test01</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springBoot_test01</name>
    <description>springBoot_test01</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </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>
                <version>2.7.12</version>
            </plugin>
        </plugins>
    </build>

</project>

附件2:项目结构图

目前作为测试项目的项目结构图。 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为OD机试题【食堂供餐】【2023 B卷 100分】

文章目录 &#x1f3af; 前言&#x1f3af; 题目描述&#x1f3af; 解题思路&#x1f4d9; Python代码实现&#x1f4d7; Java代码实现&#x1f4d8; C语言代码实现 &#x1f3af; 前言 &#x1f3c6; 《华为机试真题》专栏含2023年牛客网面经、华为面经试题、华为OD机试真题最…

Python使用正则表达式识别代码中的中文、英文和数字实例演示

Python 正则表达式识别代码中的中文、英文和数字 识别中文识别英文识别数字拓展 在文本处理和数据分析中&#xff0c;有时候需要从代码中提取出其中包含的中文、英文和数字信息。正则表达式是一种强大的工具&#xff0c;可以帮助我们实现这一目标。本文将分三个部分详细介绍如何…

chatgpt赋能python:Python如何倒序输出一组数

Python如何倒序输出一组数 Python是一种广泛使用的高级编程语言&#xff0c;由于其易读性和简洁性&#xff0c;Python已成为Web开发、数据分析以及人工智能等方向的首选语言。而在程序编写过程中&#xff0c;倒序输出一组数也是一个经常用到的操作。在本文中&#xff0c;我们将…

ActiveReportsJS 4.0.2 Crack ActiveReportsJS New

ActiveReportsJS - 高级 JavaScript 报告解决方案 ActiveReportsJS 是一个强大的 Web 应用程序报告工具&#xff0c;它允许开发人员和报告作者轻松地在他们的应用程序中设计和显示报告。凭借广泛的功能&#xff0c;例如向下钻取、运行时数据过滤和参数驱动的报告&#xff0c;以…

基于时间的访问控制列表(ACL)配置实验

基于时间的访问控制列表&#xff08;ACL&#xff09;配置实验 【实验目的】 掌握基于时间的ACL配置。认识给予时间的ACL的作用。验证配置。 【实验拓扑】 实验拓扑如下图所示。 设备参数如下表所示。 设备 接口 IP地址 子网掩码 默认网关 R1 S0/3/0 192.168.1.1 255…

24万字智慧城市时空信息云平台 大数据一体化 解决方案word

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除篇幅有限&#xff0c;无法完全展示&#xff0c;喜欢资料可转发评论&#xff0c;私信了解更多信息。 第二章 XX新型智慧城市总体设计 2.1 新型智慧城市核心技术 2.2 新型智慧城…

chatgpt赋能python:Python如何倒着循环:一步步教你倒序遍历序列

Python如何倒着循环&#xff1a;一步步教你倒序遍历序列 Python是一种高级编程语言&#xff0c;因其语法简单易学&#xff0c;常被用于数据分析、机器学习、自然语言处理等领域。在实际开发中&#xff0c;我们经常需要遍历序列。有时需要倒着循环序列&#xff0c;本文将详细介…

Roop:Colab脚本使用方法!

​AI领域人才辈出&#xff0c;突然就跳出一个大佬“s0md3v”&#xff0c;开源了一个单图就可以进行视频换脸的项目。 项目主页给了一张换脸动图非常有说服力&#xff0c;真是一图胜万言。 快速在本地配置一个环境&#xff0c;验证了一下&#xff0c;确实还不错。主要是&#xf…

使用ChatGPT生成思维导图(附永久免费镜像网址)

前言 思维导图&#xff08;The Mind Map&#xff09;&#xff0c;是表达发散性思维的有效图形思维工具。思维导图运用图文并重的技巧&#xff0c;把各级主题的关系用相互隶属与相关的层级图表现出来&#xff0c;把主题关键词与图像、颜色等建立记忆链接 &#xff0c;可以应用于…

Python-web开发学习笔记(3):CSS基础

&#x1f680; Python-web开发学习笔记系列往期文章&#xff1a; &#x1f343; Python-web开发学习笔记&#xff08;1&#xff09;--- HTML基础 &#x1f343; Python-web开发学习笔记&#xff08;2&#xff09;--- HTML基础 &#x1f343; Python-web开发学习笔记&#xff08…

网络层概述及提供的两种服务

1.网络层概述及提供的两种服务 笔记来源&#xff1a; 湖科大教书匠&#xff1a;网络层概述 湖科大教书匠&#xff1a;网络层提供的两种服务 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 1.1 网络层概述 网络层的主要任务是实现网络互连&#xf…

Linux 高级篇-日志管理

Linux 高级篇-日志管理 基本介绍 日志文件是重要的系统信息文件&#xff0c;其中记录了许多重要的系统事件&#xff0c;包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。日志对于安全来说也很重要&#xff0c;它记录了系统每天发生的…

Python读写EXCEL文件常用方法

python读写excel的方式有很多&#xff0c;不同的模块在读写的讲法上稍有区别&#xff0c;这里我主要介绍几个常用的方式。 用xlrd和xlwt进行excel读写&#xff1b;用openpyxl进行excel读写&#xff1b;用pandas进行excel读写&#xff1b; 一、数据准备 为了方便演示&#xf…

在滴滴和字节干了4年测试开发,简直不要太真实…

先简单交代一下&#xff0c;某不知名211的本硕&#xff0c;18年毕业加入滴滴&#xff0c;之后跳槽到了头条&#xff0c;一直从事测试开发相关的工作。之前没有实习经历&#xff0c;算是四年的工作经验吧。 这四年之间完成了一次晋升&#xff0c;换了一家公司&#xff0c;有过开…

Linux环境下Mysql8的下载、安装、主从模式搭建

主库部署 下载 下载地址:MySQL :: Download MySQL Community Server (Archived Versions) 文件名称:mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz 解压 先解压xz xz -d mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz 再解压tar tar -xvf mysql-8.0.17-linux-glibc2.12-…

QT 5.14 和 VS2017脱机离线安装记录

QT 5.14是最后的离线安装版本&#xff0c;都推荐这个。看了下&#xff0c;官方建议搭配 VS2017/VS2015 VS版本对于QT&#xff0c;我一直偏好社区版&#xff0c;只要编译器就够了&#xff0c;自己加上SDK目录。因为大部分工作都是在QT内完成。VS2017的离线安装比较复杂&#xff…

区间预测 | MATLAB实现基于QRCNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络多变量时间序列区间预测

区间预测 | MATLAB实现QRCNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络多变量时间序列区间预测 目录 区间预测 | MATLAB实现QRCNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络多变量时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 1.Mat…

Android 14 之返回界面升级:预览目标界面 + 全新返回箭头

Android 13 的版本里 Android 就针对返回导航进行了大量更改&#xff0c;包括&#xff1a; 废弃原有的 KEYCODE_BACK KeyEvent提供 Manifest 属性 enableOnBackInvokedCallback 以配置是否应用全新的 Back 导航特性提供 Activity、Dialog 里处理 Back 导航的 OnBackInvokedDis…

Zabbix自定义redis6集群监控项并用python脚本自动创建应用集、监控项、触发器

1.1、编写redis_status.sh脚本 [fieldyangcentos7-135 sbin]$ mkdir -p /usr/lib/zabbix/scripts/ [fieldyangcentos7-135 sbin]$ cd /usr/lib/zabbix/scripts/ [fieldyangcentos7-135 scripts]$ cat >redis_status.sh #!/bin/bash #author&#xff1a;Fieldyang #descr…

day 48 打家劫舍专题:198. 打家劫舍;213. 打家劫舍 II;337. 打家劫舍 III

打家劫舍 198. 打家劫舍1. dp数组以及下标名义2. 递归公式3. dp数组如何初始化4. 遍历顺序5. 代码 213. 打家劫舍 II:房间首尾相连1. dp数组以及下标名义2. 递归公式3. dp数组如何初始化4. 遍历顺序5. 代码 337. 打家劫舍 III&#xff1a;1. 递归,后序遍历动态规划&#xff1a;…