Maven项目转为SpringBoot项目
Maven项目转为SpringBoot项目
- 前言
- 创建一个maven项目前的软件的一些通用设置
- Maven仓库的设置
- 其他的设置
- 字符编码
- 编译器
- 注解支持
- 创建的Maven项目
- 修改为Spring Boot项目
- 修改pom.xml文件
- 修改启动类-Main
- 新建WAR包所需的类
- 添加核心配置文件
- 测试的控制器
- 最后整个项目的目录结构
- 测试
前言
听起来有点奇怪,但其实并不奇怪
因为有时候我们不能直接创建的SpringBoot项目,或者觉得自动生成多余的代码太多
那么我们可以先创建Maven项目,然后再自己引入依赖,添加一些文件,使之成为一个可用的SpringBoot项目了
创建一个maven项目前的软件的一些通用设置
先关闭项目,回到软件的初始界面,进入到设置中,如下所示

以下的设置修改后记得点击右下角的apply!!!!! 一定要记得!不然不会生效!
Maven仓库的设置

修改项目的maven仓库信息为指定仓库,否则每次创建的项目都会是默认的.m2仓库
其他的设置
字符编码

编译器
设置全局自动编译

设置编译器的版本 安装的哪个选哪个 我这里安装的时Java11

注解支持
部分插件可能需要注解支持

创建的Maven项目
新建项目,直接创建出一个Maven项目即可,基本就只有两个文件一个Main.java

一个pom.xml

修改为Spring Boot项目
修改pom.xml文件
其中各个标签的意思 我标注了具体的解释
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- Maven的版本--><modelVersion>4.0.0</modelVersion>
<!-- 打包方式指定为war包--><packaging>war</packaging><!-- 项目的一些基本信息--><groupId>org.example</groupId><artifactId>NocosProjectResgister</artifactId><version>1.0-SNAPSHOT</version><properties>
<!-- 项目的源代码的Java版本--><maven.compiler.source>11</maven.compiler.source>
<!-- 项目编译生成的字节码的目标Java版本--><maven.compiler.target>11</maven.compiler.target>
<!-- 项目的源代码文件的字符编码--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies>
<!-- 引入spring boot--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency></dependencies><!-- 定义项目的构建配置,包括编译、打包、测试、部署等方面--><build><resources><!-- 构建项目过程中被复制到输出目录中,以便它们可以在应用程序运行时访问--><resource><directory>src/main/java</directory><includes><!-- 项目内mybatis的dao配置文件--><include>**/*.xml</include></includes></resource><resource><directory>src/main/resources</directory><includes><!-- 资源文件--><include>**/*.*</include></includes></resource></resources><plugins><!-- spring-boot中用于支持maven打包的插件--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
<!-- 打包出来的名称 一般是项目的缩写外加版本号 --><finalName>npr</finalName></build></project>
修改完成以后 记得更新下依赖 点软件的右上角的那个更新图标
应该每次修改完pom文件,右上角都会出现那个小图标

修改启动类-Main
这里主要是加一下@SpringBootApplication注解 标识为应用程序入口 然后在main方法中启动程序
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;//标识为一个SpringBoot的应用
@SpringBootApplication
public class Main {public static void main(String[] args) {//启动应用SpringApplication.run(Main.class);}
}
新建WAR包所需的类
新建ServletInitializer类,层级结构如下

这是为了部署到外部的Servlet容器时,用于初始化Servlet容器(内置的不需要)
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
//servlet容器的初始化 打包成war包必须
public class ServletInitializer extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(Main.class);}
}
添加核心配置文件
在resource目录下创建application.yml文件,该文件为Spring Boot项目的核心配置文件

以下为其内容、
#嵌入式web服务器的配置信息
server:#程序所用端口为9000port: 9000tomcat:#Tomcat容器的URI编码 确保能够正确解析包含非ASCII字符的URLuri-encoding: UTF-8
测试的控制器
新建一个控制器HellController,用于在程序启动后用于测试,是否可以正常运行
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HellController {@RequestMapping(value = "/hello" , method = RequestMethod.GET)public String hello() {return "Hello, World!";}
}
最后整个项目的目录结构
测试
启动应用,在浏览器输入http://localhost:9000/hello 有以下显示视为成功

至此一个简单的Spring Boot项目配置完成
相关文章:
Maven项目转为SpringBoot项目
Maven项目转为SpringBoot项目 前言创建一个maven项目前的软件的一些通用设置Maven仓库的设置其他的设置字符编码编译器注解支持 创建的Maven项目修改为Spring Boot项目修改pom.xml文件修改启动类-Main新建WAR包所需的类 添加核心配置文件 测试的控制器最后整个项目的目录结构![…...
C语言之预处理
目录 前言 宏定义define的用法 文件包含include的用法 条件编译的用法 其他预处理命令 练习题 练习一 练习二 练习三 前言 预处理命令可以改变程序设计环境,提高编程效率,它们并不是C语言本身的组成部分,不能直接对它们进行编译&am…...
css步骤条
html 代码以及样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>css步骤条</title><style>.steps {display: flex;justify-content: space-between;padding: 0;margin: 20px 10px;lis…...
[Hive] 常见函数
文章目录 字符串函数数值函数随机函数日期和时间函数字符串转时间 聚合函数数组函数结构体函数数组函数映射函数 map正则处理JSON 字符串函数 CONCAT(string1, string2, …):将多个字符串连接成一个字符串。 LENGTH(string):返回字符串的长度。 LOWER…...
Mac用NTFS文件夹读写NTFS硬盘 NTFS能复制多大的文件
Mac作为一款备受欢迎的计算机操作系统,具备了许多令人惊叹的功能和特性。然而,对于一些Mac用户来说,使用NTFS格式的硬盘可能存在一些疑问。他们可能想知道Mac是否能够读写NTFS格式的硬盘,以及NTFS格式的硬盘是否有文件大小的限制。…...
【unity3D】Scroll Rect组件—制作下滑列表
💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的学习笔记 🈶本篇是unity的Scroll Rect组件 Scroll Rect组件 基础知识详细说明案例演示——制作一个简单的下滑框扩展 介绍:Scroll Rect组件是用…...
网络扫描与网络监听
前言:前文给大家介绍了网络安全相关方面的基础知识体系,以及什么是黑客,本篇文章笔者就给大家带来“黑客攻击五部曲”中的网络扫描和网络监听 目录 黑客攻击五部曲 网络扫描 按扫描策略分类 按照扫描方式分类 被动式策略 系统用户扫描 …...
Codeforces Round 904 (Div. 2) C
C. Medium Design 思路:我们设最大值所在的下标为 x x x,最小值所在的下标为 y y y,那么我们考虑一段区间对于答案的贡献: 若一段区间覆盖了 x x x,但没有覆盖 y y y,那么这段区间需要选择 若一段区间覆盖了 y y y,但没有覆盖 x…...
DBeaver连接数据库报错:Public Key Retrieval is not allowed 的解决方案
写在前面: DBeaver是一款免费的数据库管理工具,安装也是傻瓜式一键安装,比较推荐。 DBeaver官网(加载有点慢,耐心等待):DBeaver Community | Free Universal Database Tool 报错详情ÿ…...
DeepFace【部署 04】轻量级人脸识别和面部属性分析框架deepface使用Docker部署CPU+GPU两个版本及cuDNN安装
使用Docker部署CPUGPU 1.CPU2.GPU3.cuDNN安装3.1 Prerequisites3.2 下载Linux版本cuDNN3.3 安装 1.CPU 本说明基于DeepFace的Docker镜像文件deepface_image.tar进行说明。 # 1.导入镜像 docker load -i deepface_image.tar# 2.创建模型文件夹【并将下载好的模型文件上传】 mk…...
程序生活 - 减肥小记
文章目录 缘起健康就好了吗?关于外在和物质生活难与易 我的减肥生活一些细节轻断食戒糖、油炸、重口味睡眠改变社交方式用运动化解压力不喝牛奶 缘起 2017年的一次腿受伤,让我从一个怎么都吃不胖的人,变成了一个实实在在的胖子。 如果你从来…...
深度学习_4_实战_直线最优解
梯度 实战 代码: # %matplotlib inline import random import torch import matplotlib.pyplot as plt # from d21 import torch as d21def synthetic_data(w, b, num_examples):"""生成 Y XW b 噪声。"""X torch.normal(0,…...
《视觉SLAM十四讲》公式推导(三)
文章目录 CH3-8 证明旋转后的四元数虚部为零,实部为罗德里格斯公式结果 CH4 李群与李代数CH4-1 SO(3) 上的指数映射CH4-2 SE(3) 上的指数映射CH4-3 李代数求导对极几何:本质矩阵奇异值分解矩阵内积和迹 CH3-8 证明旋转后的四元数虚部为零,实部…...
pnpm、npm、yarn的区别
pnpm、npm、yarn是三种不同的包管理器,它们之间有一些区别。 安装速度:pnpm的安装速度比npm和yarn快,因为它使用了只下载必需的模块,而不是下载整个依赖树。此外,pnpm还可以并行下载模块,从而进一步提高下…...
搞定蓝牙——第四章(GATT协议)
搞定蓝牙——第四章(GATT协议) 原理介绍层次结构server和client端Attribute ESP32代码 文章下面用的英文表示: server和client:服务端和客户端 char.:characteristic缩写,特征 Attribute:属性 ATT:Attribut…...
Go语言入门心法(十四): Go操作Redis实战
Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 Go语言入门心法(六): HTTP面向客户端|服务端编程 Go语言入门心法(七): 并发与通道 Go语言入门心法(八): mysql驱动安装报错o…...
Java学习笔记(三)
前言 这个主要就是想记录一个点,就是二维数组保存的元素就是一维数组的地址,这个概念大家都知道了,那么接下来就是我最近写程序发生的一个事情了。 随机打乱一个一维数组 这个程序我相信大家都是会写的,通过randomArr来随机打乱…...
Flutter笔记:GetX模块中不使用 Get.put 怎么办
Flutter笔记 GetX模块中不使用 Get.put 怎么办 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/13400672…...
2023前端面试整理
1. 介绍一下最近参与的项目,负责那些业务,在开发过程中遇到过问题吗?最后是咋样处理的? 之前负责过大小十几个项目,负责过浙里办的整套上架流程,负责过数据大屏统计,后台管理系统文书生成表单生成等,浙政钉…...
文化融合:TikTok如何弥合跨文化差异
随着全球化的加速和数字媒体的崛起,社交媒体平台已经成为连接世界各地人们的纽带。其中,TikTok作为一个引领者,正在以惊人的速度消除跨文化差异,促进文化融合,使人们更加了解和尊重不同背景和传统。 本文将深入探讨Ti…...
intv_ai_mk11开发者友好:提供RESTful API文档、Curl示例、SDK接入指引
intv_ai_mk11开发者友好:提供RESTful API文档、Curl示例、SDK接入指引 1. 平台概述 intv_ai_mk11是基于Llama架构的中等规模文本生成模型,专为开发者设计,提供完整的API接入方案。该模型擅长处理通用问答、文本改写、解释说明和简短创作等任…...
StructBERT文本相似度-中文-通用模型效果展示:电商商品描述语义聚类案例
StructBERT文本相似度-中文-通用模型效果展示:电商商品描述语义聚类案例 1. 项目概述 StructBERT中文文本相似度模型是一个基于百度深度学习技术的高精度语义理解工具,专门用于计算中文句子之间的语义相似度。这个模型能够理解中文语言的深层语义&…...
语燕输入法YuyanIme与其他主流输入法对比评测:7大核心优势深度解析
语燕输入法YuyanIme与其他主流输入法对比评测:7大核心优势深度解析 【免费下载链接】YuyanIme 语燕输入法-一款基于Rime定制开发的九键、全拼、双拼、手写、火星文等方案、支持悬浮、单手、数字行等键盘模式的中文输入法 项目地址: https://gitcode.com/gh_mirror…...
搞懂 Python 本地安装:`pip install .` 与 `pip install -e .` 的本质区别
在 Python 项目开发中,当你编写了一个自己的包(包含 setup.py 或 pyproject.toml),并希望将其安装到当前的虚拟环境以便调用时,通常会在项目根目录执行安装命令。 最常见的两个命令是 pip install . 和 pip install -e…...
从零到一:使用blog_demos构建企业级Flink流处理应用的完整指南
从零到一:使用blog_demos构建企业级Flink流处理应用的完整指南 【免费下载链接】blog_demos CSDN博客专家程序员欣宸的github,这里有六百多篇原创文章的详细分类和汇总,以及对应的源码,内容涉及Java、Docker、Kubernetes、DevOPS等…...
OpenClaw办公自动化:Qwen3-14B处理Excel与邮件实战
OpenClaw办公自动化:Qwen3-14B处理Excel与邮件实战 1. 为什么选择OpenClaw处理办公自动化 上个月我需要每周手动处理几十份销售报表,总是要加班到深夜。直到同事推荐了OpenClaw——这个能像人类一样操作电脑的开源智能体框架。经过一个月的实战&#x…...
OpenClaw自动化测试:Phi-3-vision-128k-instruct版本升级对比
OpenClaw自动化测试:Phi-3-vision-128k-instruct版本升级对比 1. 测试背景与动机 上周在星图镜像广场发现Phi-3-vision-128k-instruct的新版本镜像更新,作为长期使用OpenClaw进行自动化测试的技术爱好者,我决定系统性地验证这个号称"支…...
【2026 CVPR】Asking like Socrates: Socrates helps VLMs understand remote sensing images
RS-EoT (Remote Sensing Evidence-of-Thought) 研究旨在解决视觉语言模型(VLM)在处理遥感图像时的“虚假推理”问题 。 文章目录 核心问题 核心思想 核心方法 A. 数据合成:SocraticAgent Data Statistics B. 训练策略:两阶段渐进式强化学习 (RL) C. 训练策略 实验验证 主要…...
I2C设备扫描器:嵌入式系统总线拓扑发现与地址诊断工具
1. I2C设备扫描器:嵌入式系统中总线拓扑发现的核心工具IC(Inter-Integrated Circuit)总线因其仅需两根信号线(SCL时钟线与SDA数据线)、支持多主多从架构、内置仲裁与应答机制等特性,成为嵌入式系统中传感器…...
BeMusic 3.1.3音乐网站源码:打造个人专属音乐平台的完美选择
在当今数字音乐时代,拥有一个属于自己的音乐网站已成为许多音乐爱好者和开发者的梦想。BeMusic 3.1.3音乐网站源码正是实现这一梦想的理想工具。作为一个功能全面的音乐分享和流媒体平台,BeMusic允许用户在几分钟内创建专业级的音乐网站,无需…...
