创建第一个Springboot项目(环境准备、环境存在的问题、启动时存在的问题、启动的方式)

一、环境准备

专业版创建springboot,直接有一个选项可以选择

社区版,需要下载一个spring的插件

不要直接点 install 因为这个插件是付费的,直接点安装只有30天使用期限

在里面找免费版本的下载

然后安装

安装完成后,这个插件名会变成

创建新项目 file -> new project

左边出现spring initializr

二、创建SpringBoot 项目 

创建项目

这换成idea2023专业版了

这个界面要联网(这个出自spring官网)

关于Java 版本 ,这里的server url原本是spring 官网 https://start.spring.io/

        但是由于 官网不会把所有的 Java版本展示出来,只会列出最近的核心版本,所以我换成了阿里云 https://start.aliyun.com/

        这样才有了下面的 Java 8 (因为稳定版就是 8 、11 、17)

 然后我修改为自己的项目信息

spring boot版本 选择 2.xx 就可以 (因为2版本使用的是jdk 8,3版本是jdk 17)

不要选择 snapshot 版本(这个是快照版本,不稳定版本)

创建之后,右下角会弹出一个窗口,是否加载为maven 项目 ,点击确定

如果没有弹出窗口,旁边有个maven,点击reload all maven projects

或者 右键项目 选择 添加框架支持,选择maven

1)pom.xml 可能会存在的问题

1.版本会标红

可以顺着 这个 项目id 去中央仓库查找

spring-boot-starter-parent

发现这个 2.7.17 没有release版本

那就直接再pom.xml文件里,将release删除掉就好了

修改完,一定记得 maven 刷新重载一下!!!不然pom.xml的内容无法生效

2.build里的插件标红

我重新点击maven 加载,就好了

如果还是标红,可以直接删掉这个标红的插件(不是很重要)

2)包下载 存在的问题

3)springboot版本选错 (无效目标发行版17)- 解决方案

 settings设置里 -> Java Compiler -> 选择 8

project structure -> project -> SDK 选择1.8

modules 修改为 8

 三、目录介绍

这几个文件是没有用的,删掉都行

.idea : 无论什么文件只要是idea里的都有 这个文件

四、项目启动

spring的启动文件在 src - main - java - 自定义项目名称的驼峰式+Application

启动成功会有这样的类似颜文字表情一样的 spring的图标

虽然启动了,但是这个项目里啥也没有

写一个程序

写完程序,重启springboot

打开网页

五、HTTP

1.请求和响应

2.HTTP状态码

通常情况下:

2xx 成功(200)

3xx 重定向

4xx 客户端错误(例外 404:通常表示请求的url不存在)

5xx 服务端错误

1)404错误:

当我把注解写错时,springboot项目能正常启动

但是访问时,报错 404

1)检查 url 是否正确

2)检查 代码 是否正确(例如:@后面的注解 ,或者路径,pom.xml没有重载)

2)500错误: 

当我 在函数里写了不符合语法的代码,也会报错,但这次是500

通过日志 找到错误

***看日志的技巧:一段一段看,从后往前看

        日志报错可能是很长的,也可能是多种问题并发存在。

        一段一段看,指的是,一段Java日志,通常是如上图这样 java.lang.xx这样的开头,这就是一段的开头,这一段其他的大部分就是 at xxxx 这样的。

        从后往前看,指的是,日志最后一段报错,是最新出现的问题

然后就发现了是 12 行 这里除数为 0,报错了,更正即可

 3)无法访问此网站

通常指 web 服务器没启动(tomcat 没启动)

3.1 忘记启动 tomcat了

例如我停止了这个项目

再次访问就会是 无法访问此网站

3.2 端口号冲突

        可能之前电脑安装过tomcat ,使用的是 8080端口。而 spring boot 项目里也内置了 tomcat ,端口号使用的也是 8080。于是这两个 tomcat 的端口号就会冲突,导致访问 时,不知道是哪一个  。

        可以把tomcat 的端口号修改成别的,或者 直接把其他tomcat 的服务关闭,只保留当前 正在使用的这一个 springboot项目。

解决端口号冲突 - 修改端口号

在resource下,application.properties 文件里

server.port = xxxx(默认是 8080)

        ​​​​​

修改为 8081

重新启动项目 , 看到日志上显示了, 端口号为 8081

这就代表修改成功

再在浏览器上看

六、Springboot 其他创建方式 和 运行方式

1)在线创建Springboot

1. 在官网在线创建

对网络要求高(目前不支持2版本的了,只有3)

https://start.spring.io/

选择完后,点击 GENERATE

(这个是之前可以创建2版本的截图)

2.阿里云上创建(2、3版本的都有) 

虽然官网不能在线创建

https://start.aliyun.com/

2)运行方式

1.maven打包 

双击 package 打包项目        

打包成功后是这样

building jar 后面是路径

build success 是打包成功的意思

可以在这个路径下看到打好的jar包

2.运行jar包 

命令: java -jar

有时候会出现 Springboot-demo-0.0.1-SNAPSHOT.jar中没有主清单属性 这种情况

再pom.xml这里插件里面,有一个mainclass这是主类,程序的启动入口。

skip原本设置为 true 就会跳过构建过程,改为false就可以正常启动了

双击 clean 清除掉 然后再 package 打包,多试几次

启动成功

打开网页正常显示内容

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

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

相关文章

利用ChatGPT辅助撰写课题申报书中的研究框架与内容设计全攻略指南

欢迎关注EssayBot,为大家带来最酷最有效的智能AI学术科研写作攻略。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥沟通:yida985 撰写课题申报书是启动科研项目的第一个步骤,而研究框架与内容设计又是这一过程中的关键要素&#xff0…

基于YOLOv5的PCB板缺陷检测系统的设计与实现(PyQT页面+YOLOv5模型+数据集)

简介 随着电子设备的广泛应用,PCB(印刷电路板)作为其核心部件,其质量和可靠性至关重要。然而,PCB生产过程中常常会出现各种缺陷,如鼠咬伤、开路、短路、杂散、伪铜等。这些缺陷可能导致设备故障,甚至引发严重的安全问题。为了提高PCB检测的效率和准确性,我们基于YOLOv…

Go 三色标记法:一种高效的垃圾回收策略

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

C++基础知识——引用

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 博主主页:Yan. yan.                        …

让你的Python代码更简洁:一篇文章带你了解Python列表推导式

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 列表推导式 📒📝 语法📝 条件筛选📝 多重循环📝 列表推导式的优点📝 使用场景📝 示例代码🎯 示例1🎯 示例2⚓️ 相关链接 ⚓️📖 介绍 📖 在Python编程中,列表推导式是一种强大且高效的语法,它允许你用…

Java程序之素数问题

题目: 判断101-200之间有多少个素数,并输出所有素数。 程序分析: 判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。素数被利用在密码学上&#…

算法设计与分析 笔记

截图摘自湖南大学彭鹏老师的ppt。笔记也是根据他的ppt整理的。 动态规划 核心 用数组记录中间结果,避免重复计算 三角数塔问题 问题描述 给定一个三角形数塔,从顶部出发,每次只能移动到下一行的相邻元素。要求找到一条路径,…

VS Code安装及环境配置(超详细)

VS Code简介 Visual Studio Code(简称 VS Code )是 Microsoft 于2015年4月发布的一款代码编辑器,以界面简洁、轻量著称。 它是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流开发语言的语法高亮、智能代码补全、自定义…

【HTTPS云证书部署】SpingBoot部署证书

这里以华为云证书为例。 1. 下载证书 2. 解压 3. 选择.top_Tomcat复制到SpringBoot的Resource/source下 4. 在.properties文件中进行配置 修改key-store和key-store-password

[面试题]Jenkins

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…

理解什么是DSR,嗅探器视角下的IP和MAC地址识别(C/C++代码实现)

网络嗅探器是监控和分析网络流量的一种工具,它能够捕获数据包并提取出关键的信息,比如IP地址和MAC地址。 网络嗅探器工作原理基于网卡的工作模式。正常情况下,网卡只处理发送给它的数据包,忽略其他数据。但是,如果将网…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-29残差网络ResNet

29残差网络ResNet import torch from torch import nn from torch.nn import functional as F import liliPytorch as lp import matplotlib.pyplot as plt# 定义一个继承自nn.Module的残差块类 class Residual(nn.Module):def __init__(self, input_channels, num_chan…

技术性屏蔽百度爬虫已经一周了!

很久前明月就发现百度爬虫只抓取、只收录就是不给流量了,加上百度搜索体验越来越差,反正明月已经很久没有用过百度搜索,目前使用的浏览器几乎默认搜索都已经修改成其他搜索引擎了,真要搜索什么,一般都是必应谷歌结合着…

uni-CMS:全端开源内容管理系统的技术探索

摘要 本文介绍了uni-CMS,一个基于uniCloud开发的开源内容管理系统(CMS)。该系统旨在帮助开发者快速搭建并管理内容丰富的网站、小程序和移动应用。通过其全端渲染、内容安全检测、广告解锁付费内容以及AI生成文章等特性,uni-CMS不…

cesium 添加 Echarts 饼图

cesium 添加 Echarts 饼图 1、实现思路 1、首先创建echarts饼图,拿到创建好的canvas 2、用echarts里面生成的canvas添加到cesium billboard中 2、示例代码 <!DOCTYPE html> <html lang="en"><head><

微信小程序毕业设计-在线厨艺平台系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

微软搁置水下数据中心项目——项目纳蒂克相比陆地服务器故障更少

“我的团队努力了&#xff0c;并且成功了&#xff0c;”COI负责人诺埃尔沃尔什说。 微软已悄然终止了始于2013年的水下数据中心&#xff08;UDC&#xff09;项目“纳蒂克”。该公司向DatacenterDynamics确认了这一消息&#xff0c;微软云运营与创新部门负责人诺埃尔沃尔什表示…

STM32 Customer BootLoader 刷新项目 (二) 方案介绍

STM32 Customer BootLoader 刷新项目 (二) 方案介绍 文章目录 STM32 Customer BootLoader 刷新项目 (二) 方案介绍1. 需求分析2. STM32 Memery介绍3. BootLoader方案介绍4. 支持指令 1. 需求分析 首先在开始编程之前&#xff0c;我们先详细设计一下BootLoder的方案。 本项目做…

openjudge_2.5基本算法之搜索_917:Knight Moves

题目 917:Knight Moves 总时间限制: 1000ms 内存限制: 65536kB 描述 Background Mr Somurolov, fabulous chess-gamer indeed, asserts that no one else but him can move knights from one position to another so fast. Can you beat him? The Problem Your task is to wr…

python3GUI--ktv点歌软件By:PyQt5(附下载地址)

文章目录 一&#xff0e;前言二&#xff0e;展示1.启动2.搜索2.服务1.首页2.天气预报3.酒水饮料4.酒水饮料2 3.服务4.灯光5.调音6.排行榜7.分类点歌9.歌手点歌10.歌手个人页 三&#xff0e;心得体会1.关于代码2.关于设计3.关于打包 四&#xff0e;总结 文件大小&#xff1a;33.…