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

news2024/11/19 5:26:02

一、环境准备

专业版创建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.coloradmin.cn/o/1838584.html

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

相关文章

作为程序员,科班计算机比起非科班有很大优势吗?

在当今这个快速变化的时代,个人的能力与优势成为了职场竞争中的关键因素。在众多的职业选择中,程序员因其独特的技能和市场需求而备受青睐。 然而,并非所有人在18岁就决定要进入计算机行业,许多人都是在大学毕业之后由于种种原因…

一步步教你用Python Selenium抓取动态网页任意行数据

引言 在现代网络中,动态网页越来越普遍,这使得数据抓取变得更具挑战性。传统的静态网页抓取方法在处理动态内容时往往力不从心。本文将详细介绍如何使用Python Selenium抓取动态网页中的任意行数据,并结合代理IP技术以提高抓取的成功率和效率…

PostgreSQL源码分析——缓冲区管理器

这里我们分析一下PG数据库缓冲区的代码。缓冲区是十分重要的,对数据库的性能和稳定性有着直接的影响。缓冲区是数据库SQL计算层与外部存储(磁盘)交互的关键。数据页的落盘与读取,都要经过缓冲区。 README src/backend/storage/…

本地部署AI模型-phi3

What: Phi-3-Mini被认为是Microsoft计划发布的三款小型机型中的首款。据报道,在语言、推理、编码和数学等领域,它在各种基准测试中的表现优于相同大小和下一个尺寸的模型。 从本质上讲,语言模型是 ChatGPT、Claude、Gemini 等 AI…

WPF/C#:显示分组数据的两种方式

前言 本文介绍自己在遇到WPF对数据进行分组显示的需求时&#xff0c;可以选择的两种方案。一种方案基于ICollectionView&#xff0c;另一种方案基于IGrouping。 基于ICollectionView实现 相关cs代码&#xff1a; [ObservableProperty] private ObservableCollection<Peo…

变声方法大公开,变女声很自然的3款变声器推荐,值得收藏

将男声变成女声并且要很自然的变声器有吗&#xff1f;很多喜欢玩游戏的小伙伴们在进行游戏连麦时&#xff0c;可能为了增加趣味&#xff0c;想要试试变成女声来交流&#xff0c;或者喜欢视频剪辑创作的小伙伴们在进行视频配音时&#xff0c;不想用自己的声音出镜&#xff0c;需…

WGCLOUD的web ssh提示websocket服务连接已断开

这个问题一般是server主机没有开放端口9998&#xff0c;因为9998是web ssh的端口&#xff0c;需要开放 我们只要在防火墙&#xff0c;或者安全软件&#xff0c;把这个端口开放了就可以了

STM32HAL库--NVIC和EXTI

1. 外部中断实验 1.1 NVIC和EXTI简介 1.1.1 NVIC简介 NVIC 即嵌套向量中断控制器&#xff0c;全称 Nested vectored interrupt controller。是ARM Cortex-M处理器中用于管理中断的重要组件。负责处理中断请求&#xff0c;分配优先级&#xff0c;并协调中断的触发和响应。 它是…

Scikit-Learn支持向量机回归

Scikit-Learn支持向量机回归 1、支持向量机回归1.1、最大间隔与SVM的分类1.2、软间隔最大化1.3、支持向量机回归1.4、支持向量机回归的优缺点2、Scikit-Learn支持向量机回归2.1、Scikit-Learn支持向量机回归API2.2、支持向量机回归初体验2.3、支持向量机回归实践(加州房价预测…

氮化铝与氧化铍用于大功率电阻器产品

在过去的几十年里&#xff0c;氧化铍&#xff08;BeO&#xff09;一直是用于高功率应用的射频电阻器和端接的主要基板材料。虽然BeO非常适合电子行业的大功率应用&#xff0c;但其粉尘颗粒是有毒的;如果吸入BeO颗粒&#xff0c;它们可能会导致铍中毒&#xff0c;即肺部炎症。由…

202406最新manjaro安装sogou输入法解决方案(采用aur本地package+sogo deb包解决方案)

本地执行安装方法 1.拉取源码 git clone https://gitee.com/liushuai05/fcitx-sogoupinyin.git cd fcitx-sogoupinyin 2.获取sogo下载地址并替换到源码中 - 下载地址&#xff1a;https://pinyin.sogou.com/linux/ - 点击立即下载->x86_64->下载&#xff0c;然后右键复制…

vue+echarts实现tooltip轮播

效果图如下&#xff1a; 实现步骤如下&#xff1a; 定义一个定时器 timer:null, len: 0,页面一加载就清空定时器&#xff0c;此操作是为了防止重复加载时会设置多个定时器在setOption后设置定时器 this.myChart.clear() this.myChart.setOption(option); this.autoShowTool…

AbMole带你探索颅内压力与肌肉生长的联系:一项突破性研究

在生物医学领域&#xff0c;颅内压力&#xff08;ICP&#xff09;的调控机制一直是研究的热点。最近&#xff0c;一项发表在《PLOS ONE》上的研究为我们揭示了颅内压力与后颅窝肌肉生长之间的潜在联系&#xff0c;为我们理解某些慢性头痛的成因提供了新的视角。 颅内压力的异常…

Ubuntu-24.04-live-server-amd64启用ssh

系列文章目录 Ubuntu-24.04-live-server-amd64安装界面中文版 Ubuntu安装qemu-guest-agent Ubuntu乌班图安装VIM文本编辑器工具 文章目录 系列文章目录前言一、输入安装命令二、使用私钥登录&#xff08;可选&#xff09;1.创建私钥2.生成三个文件说明3.将公钥复制到服务器 三…

抖音新规发布后,做抖音外卖代理需要注意什么?

近日&#xff0c;抖音发布了关于新增《【到家外卖】内容服务商开放准入公告》的意见征集通知&#xff08;以下简称“通知”&#xff09;&#xff0c;吹响了抖音外卖全面开放的号角&#xff0c;抖音外卖代理怎么做等问题也随即成为了众多创业者交流群中的热议话题。 根据通知要求…

【MySQL】(基础篇十二) —— 子查询

分组数据 本文介绍什么是子查询以及如何使用它们。 SQL允许我们创建子查询&#xff08;subquery&#xff09;&#xff0c;即嵌套在其他查询中的查询。这样可以实现更复杂的查询&#xff0c;理解这个概念的最好方法是考察几个例子。 利用子查询进行过滤 需求&#xff1a;查询…

Web后端Javaee企业级开发之定时任务 Springboot整合任务框架Quartz和Task详解

定时任务 在Java EE企业级开发中&#xff0c;定时任务&#xff08;也称为后台调度或周期性任务&#xff09;是非常常见的一种功能&#xff0c;主要用于执行那些不需要用户交互&#xff0c;但需要按照预定时间间隔或事件触发的任务。Java EE提供了几个框架和API来处理这种需求&…

使用API有效率地管理Dynadot域名,为文件夹中的域名统一设置whois信息

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…

RabbitMQ实践——在Ubuntu上安装并启用管理后台

大纲 环境安装启动管理后台 RabbitMQ是一款功能强大、灵活可靠的消息代理软件&#xff0c;为分布式系统中的通信问题提供了优秀的解决方案。无论是在大规模数据处理、实时分析还是微服务架构中&#xff0c;RabbitMQ都能发挥出色的性能&#xff0c;帮助开发者构建高效、稳定的系…

如何用python调用C++处理图片

一. 背景 用pyhton可直接调用C&#xff0c;减少重写的工作量&#xff1b;部分逻辑运算&#xff0c;C的执行效率高&#xff0c;可进行加速。 下面就一个简单的C滤镜&#xff08;彩色图转灰度图&#xff09;为例&#xff0c;展示python调用C 二. 代码实现 代码结构如下&#x…