当前位置: 首页 > news >正文

Maven项目转为SpringBoot项目

Maven项目转为SpringBoot项目

  • 前言
  • 创建一个maven项目前的软件的一些通用设置
    • Maven仓库的设置
    • 其他的设置
      • 字符编码
      • 编译器
      • 注解支持
  • 创建的Maven项目
  • 修改为Spring Boot项目
    • 修改pom.xml文件
    • 修改启动类-Main
      • 新建WAR包所需的类
    • 添加核心配置文件
  • 测试的控制器
  • 最后整个项目的目录结构![在这里插入图片描述](https://img-blog.csdnimg.cn/e05a66d79f5541e1b601478407322d93.png)
  • 测试

前言

听起来有点奇怪,但其实并不奇怪

因为有时候我们不能直接创建的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的用法 条件编译的用法 其他预处理命令 练习题 练习一 练习二 练习三 前言 预处理命令可以改变程序设计环境&#xff0c;提高编程效率&#xff0c;它们并不是C语言本身的组成部分&#xff0c;不能直接对它们进行编译&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, …)&#xff1a;将多个字符串连接成一个字符串。 LENGTH(string)&#xff1a;返回字符串的长度。 LOWER…...

Mac用NTFS文件夹读写NTFS硬盘 NTFS能复制多大的文件

Mac作为一款备受欢迎的计算机操作系统&#xff0c;具备了许多令人惊叹的功能和特性。然而&#xff0c;对于一些Mac用户来说&#xff0c;使用NTFS格式的硬盘可能存在一些疑问。他们可能想知道Mac是否能够读写NTFS格式的硬盘&#xff0c;以及NTFS格式的硬盘是否有文件大小的限制。…...

【unity3D】Scroll Rect组件—制作下滑列表

&#x1f497; 未来的游戏开发程序媛&#xff0c;现在的努力学习菜鸡 &#x1f4a6;本专栏是我关于游戏开发的学习笔记 &#x1f236;本篇是unity的Scroll Rect组件 Scroll Rect组件 基础知识详细说明案例演示——制作一个简单的下滑框扩展 介绍&#xff1a;Scroll Rect组件是用…...

网络扫描与网络监听

前言&#xff1a;前文给大家介绍了网络安全相关方面的基础知识体系&#xff0c;以及什么是黑客&#xff0c;本篇文章笔者就给大家带来“黑客攻击五部曲”中的网络扫描和网络监听 目录 黑客攻击五部曲 网络扫描 按扫描策略分类 按照扫描方式分类 被动式策略 系统用户扫描 …...

Codeforces Round 904 (Div. 2) C

C. Medium Design 思路&#xff1a;我们设最大值所在的下标为 x x x,最小值所在的下标为 y y y,那么我们考虑一段区间对于答案的贡献&#xff1a; 若一段区间覆盖了 x x x&#xff0c;但没有覆盖 y y y,那么这段区间需要选择 若一段区间覆盖了 y y y&#xff0c;但没有覆盖 x…...

DBeaver连接数据库报错:Public Key Retrieval is not allowed 的解决方案

写在前面&#xff1a; DBeaver是一款免费的数据库管理工具&#xff0c;安装也是傻瓜式一键安装&#xff0c;比较推荐。 DBeaver官网&#xff08;加载有点慢&#xff0c;耐心等待&#xff09;&#xff1a;DBeaver Community | Free Universal Database Tool 报错详情&#xff…...

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…...

程序生活 - 减肥小记

文章目录 缘起健康就好了吗&#xff1f;关于外在和物质生活难与易 我的减肥生活一些细节轻断食戒糖、油炸、重口味睡眠改变社交方式用运动化解压力不喝牛奶 缘起 2017年的一次腿受伤&#xff0c;让我从一个怎么都吃不胖的人&#xff0c;变成了一个实实在在的胖子。 如果你从来…...

深度学习_4_实战_直线最优解

梯度 实战 代码&#xff1a; # %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 证明旋转后的四元数虚部为零&#xff0c;实部为罗德里格斯公式结果 CH4 李群与李代数CH4-1 SO(3) 上的指数映射CH4-2 SE(3) 上的指数映射CH4-3 李代数求导对极几何&#xff1a;本质矩阵奇异值分解矩阵内积和迹 CH3-8 证明旋转后的四元数虚部为零&#xff0c;实部…...

pnpm、npm、yarn的区别

pnpm、npm、yarn是三种不同的包管理器&#xff0c;它们之间有一些区别。 安装速度&#xff1a;pnpm的安装速度比npm和yarn快&#xff0c;因为它使用了只下载必需的模块&#xff0c;而不是下载整个依赖树。此外&#xff0c;pnpm还可以并行下载模块&#xff0c;从而进一步提高下…...

搞定蓝牙——第四章(GATT协议)

搞定蓝牙——第四章&#xff08;GATT协议&#xff09; 原理介绍层次结构server和client端Attribute ESP32代码 文章下面用的英文表示&#xff1a; server和client&#xff1a;服务端和客户端 char.&#xff1a;characteristic缩写&#xff0c;特征 Attribute:属性 ATT:Attribut…...

Go语言入门心法(十四): Go操作Redis实战

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 Go语言入门心法(六): HTTP面向客户端|服务端编程 Go语言入门心法(七): 并发与通道 Go语言入门心法(八): mysql驱动安装报错o…...

Java学习笔记(三)

前言 这个主要就是想记录一个点&#xff0c;就是二维数组保存的元素就是一维数组的地址&#xff0c;这个概念大家都知道了&#xff0c;那么接下来就是我最近写程序发生的一个事情了。 随机打乱一个一维数组 这个程序我相信大家都是会写的&#xff0c;通过randomArr来随机打乱…...

Flutter笔记:GetX模块中不使用 Get.put 怎么办

Flutter笔记 GetX模块中不使用 Get.put 怎么办 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/13400672…...

2023前端面试整理

1. 介绍一下最近参与的项目,负责那些业务,在开发过程中遇到过问题吗&#xff1f;最后是咋样处理的&#xff1f; 之前负责过大小十几个项目&#xff0c;负责过浙里办的整套上架流程&#xff0c;负责过数据大屏统计&#xff0c;后台管理系统文书生成表单生成等&#xff0c;浙政钉…...

文化融合:TikTok如何弥合跨文化差异

随着全球化的加速和数字媒体的崛起&#xff0c;社交媒体平台已经成为连接世界各地人们的纽带。其中&#xff0c;TikTok作为一个引领者&#xff0c;正在以惊人的速度消除跨文化差异&#xff0c;促进文化融合&#xff0c;使人们更加了解和尊重不同背景和传统。 本文将深入探讨Ti…...

Pixel Language Portal惊艳案例:用Hunyuan-MT-7B将甲骨文识别结果实时译为多语种学术注解

Pixel Language Portal惊艳案例&#xff1a;用Hunyuan-MT-7B将甲骨文识别结果实时译为多语种学术注解 1. 项目概览&#xff1a;当古老文字遇见现代AI Pixel Language Portal&#xff08;像素语言跨维传送门&#xff09;是一款基于腾讯Hunyuan-MT-7B大模型构建的创新翻译工具。…...

DAMO-YOLO模型多平台支持:TinyNAS WebUI跨平台部署方案

DAMO-YOLO模型多平台支持&#xff1a;TinyNAS WebUI跨平台部署方案 还在为不同操作系统下的模型部署而头疼吗&#xff1f;试试这个一次部署、多平台通用的解决方案 1. 跨平台部署的现实需求 在实际工作中&#xff0c;我们经常遇到这样的困境&#xff1a;开发团队用macOS&#…...

基于FireRedASR-AED-L的会议语音转写系统实战

基于FireRedASR-AED-L的会议语音转写系统实战 会议记录不再需要人工逐字整理&#xff0c;智能语音转写让会议纪要自动生成 1. 会议语音转写的痛点与解决方案 每次开完会&#xff0c;最头疼的就是整理会议纪要。人工记录不仅效率低下&#xff0c;还容易遗漏重要内容。特别是多人…...

【Butterfly库OpenHarmony实战使用教程】|NAPI封装+Native C API调用+真机运行

&#x1f680;Butterfly库OpenHarmony实战使用教程&#xff5c;NAPI封装Native C API调用真机运行 大家好&#xff0c;我是InMainJhy&#xff0c;一名在上海读本科的大一学生&#x1f392;。本篇严格按照鸿蒙三方库征文要求创作&#xff0c;基于NAPI封装Native C API&#xff0…...

OpenClaw数据可视化:千问3.5-9B自动生成分析图表

OpenClaw数据可视化&#xff1a;千问3.5-9B自动生成分析图表 1. 为什么需要AI驱动的数据可视化&#xff1f; 上周我面对一个典型的数据分析困境&#xff1a;手头有3份Excel表格&#xff0c;分别是销售数据、用户行为日志和库存记录。老板要求第二天早晨提交可视化报告&#x…...

极简自动化:OpenClaw+Qwen3-32B处理微信聊天文件归档

极简自动化&#xff1a;OpenClawQwen3-32B处理微信聊天文件归档 1. 为什么需要自动化文件归档&#xff1f; 每次打开微信文件传输助手&#xff0c;看到满屏的"文档1(1).pdf"和"图片1(1).jpg"时&#xff0c;我都会陷入深深的无力感。作为一名技术从业者&a…...

嵌入式开发代码比对工具实战指南

1. 单片机开发中的代码版本管理痛点 在嵌入式开发领域&#xff0c;代码版本管理是每个工程师的必修课。我经历过无数次深夜调试时&#xff0c;突然发现某个功能在上一版还能正常工作&#xff0c;最新修改后却出现了异常。这时候&#xff0c;快速定位两个版本间的代码差异就成了…...

【ROS2】DDS通信协议在自动驾驶中的关键应用

1. DDS协议如何成为自动驾驶的"神经系统" 想象一下自动驾驶汽车在城市道路穿行的场景&#xff1a;激光雷达每秒产生数十万点云数据、摄像头实时捕捉高清图像、毫米波雷达持续监测周围物体运动状态——这些海量数据需要在感知、预测、决策模块间高速流转&#xff0c;任…...

不要让接口过早失去可选项

这&#xff0c;是一个采用C精灵库编写的程序&#xff0c;它画了一幅漂亮的图形&#xff1a; 复制代码 #include "sprites.h" //包含C精灵库 Sprite turtle; //建立角色叫turtle void draw(int d){for(int i0;i<5;i)turtle.fd(d).left(72); } int main(){ …...

从一次深夜停电抢修说起:聊聊馈线自动化(FA)如何把故障恢复时间从小时级压到分钟级

从深夜抢修到智能自愈&#xff1a;馈线自动化如何重塑电网韧性 凌晨2点17分&#xff0c;某城市核心商圈突然陷入黑暗。传统配电网时代&#xff0c;这样的故障意味着至少3小时的停电——从人工报修、巡线排查到隔离修复&#xff0c;每一步都依赖人力响应。但此刻&#xff0c;调度…...