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

maven与springBoot环境配置

目录

一.maven仓库

1.介绍

2.创建maven项目

3.简单了解与使用

1>.找到maven仓库按键

2>:核心功能一之项目构建

3>:依赖管理(重点)

4>.插件下载

4.仓库   

1>:初识仓库  

2>:本地仓库

3>:远程仓库之中央仓库

4>:远程仓库之私服

5>:远程仓库之其他公共库

6>:获取顺序

7>:获取国内源

二.springBoot的配置与简单使用

1.了解spring

2.springBoot简介

3.spring配置

1>:安装springBoot Helper

2>:安装插件并创建

a.安装

b.创建

c.错误解决

3.页面详细解释

a.先介绍当前主页面的功能

b.介绍pom里面的作用

c.常见的两种错误

(1).先看总体的解决思路

(2).针对下载错误

(3).针对spring boot maven插件的下载错误

4.第一个springBoot项目

5.src目录详解

1>:简单目录理解

2>:注解标签的了解

3>:注解标签的简单设置

4>:注解与目录结构的小总结

6.日志了解

三.web的简单了解

1.常见的web服务器

2.请求与响应

四.总结


一.maven仓库

1.介绍

Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包,

更简单、更方便的提升开发效率

2.创建maven项目

3.简单了解与使用

创建好会是这个样子,接下来介绍面板信息

了解对应的操作:

1>.找到maven仓库按键

2>:核心功能一之项目构建

一般常用的也就是 clean、test、package、install、deploy,且执行都是从上到下依次执行

3>:依赖管理(重点)

在maven中,通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包,但需要添加依赖

依赖:指当前项目需要的jar包

⽐如前⾯学习JDBC时, 我们需要⼿动下载mysql-connector-java的包.并且添加到项⽬中.太麻烦了,此时我们可以在maven直接引入该依赖
    <dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.30</version></dependency></dependencies>

此时注意,引入后要刷新当前pom文件

a.依赖传递:

可以看到,我代码中没有protobuf的依赖,但是此时却显示了,因为在使用mysql可能需要用到protobuf的某些功能,此时就自动引入该依赖----依赖传递

但是依赖传递虽然方便,但也有坏处,比如下面:

当然,maven为了解决这种情况,引入了依赖调节,选取相同依赖的最短路径的依赖

如:

 A ---> Jar A ---> Jar C

 A ---> 项目B ---> 项目C --->Jar C

此时会先用第一个依赖,但一般手动排除依赖

b.依赖排除:指主动断开依赖的资源

此时可以用依赖排除排除掉其中一个jar C

如:

   //语法与上面的依赖一样<dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.30</version><exclusions><exclusion><groupId>com.google.protobuf</groupId><artifactId>protobuf-java</artifactId></exclusion></exclusions></dependency></dependencies>

点击刷新可以看到确实没有了

但随着依赖越来越多,此时不好手动排查,用一下插件maven help

4>.插件下载

下载好后重启idea,此时在本页下面可以看到对应插件

4.仓库   

maven是如何通过短短几行代码就把对应jar包导入项目的,涉及到了仓库

回顾依赖坐标,标识唯一一个jar包,当写入好依赖,此时maven仓库就会通过对应的坐标找到jar包,下载并导入项目中 

1>:初识仓库  

仓库:一个目录(文件夹),用于存储开发中的所有依赖插件等

Maven仓库分为两⼤类: 本地仓库远程仓库. 其中远程仓库⼜分为中央仓库, 私服其他公共库

2>:本地仓库

⾃⼰计算机上的⼀个⽬录(⽤来存储jar包)

查找规则:

当项⽬中引⼊对应依赖jar包后,⾸先会查找本地仓库中是否有对应的jar包
如果有,则在项⽬直接引⽤
如果没有,则去中央仓库中下载对应的jar包到本地仓库 

因为本地maven仓库地址默认c盘,接下来更改一下地址

第一步:直接去c盘把.m2文件复制粘贴在你想要的文件里面

第二步:下载seettings,是maven的全局配置,用于定义仓库、代理、认证、镜像等核心规则

通过网盘分享的文件:settings.xml
链接: https://pan.baidu.com/s/1iO7ZdkUs8OenhcR5d4aZQw?pwd=1234 提取码: 1234

成功就是这个样子

但只针对于当前项目,若想永久保存按照后面的修改吧~

此时就是永久修改了,可以重新创建maven查看

3>:远程仓库之中央仓库

大本营,里面存储了一堆包,服务全球,由国外负责

大本营仓库地址:https://repo1.maven.org/maven2/

但是不好搜索想要的jar包,此时就需要一个方便的搜索工具:https://mvnrepository.com 

怎么下载呢??就拿mysql来说吧

4>:远程仓库之私服

私服: ⼀般由公司团队/部门搭建的私有仓库.
私服属于某个公司,或者某个部⻔, 其他人的访问往往需要⼀定权限.

5>:远程仓库之其他公共库

一般由第三方机构、企业或开源社区创建维护

目的:为了补充中央仓库的覆盖范围

6>:获取顺序

7>:获取国内源

经过上述说明并成功导入settings,但因为maven默认下载都是从中央仓库下载,但它在国外,下载很慢,更改一下国内源

国内源镜像参考: Maven 镜像地址⼤全

随便拿一个镜像地址,放入如图:

注:别忘记保存!!!

二.springBoot的配置与简单使用

1.了解spring

Spring官⽅(https://spring.io/)的介绍,说到Spring让Java程序更加快速, 简单和安全,而spring里面提供了一系列开源项目,用于解决各种需求,已世界上最流⾏的Java框架。

2.springBoot简介

Spring Boot 的诞⽣是为了简化 Spring 程序开发的,主要快速开发 Spring 框架

3.spring配置

如果是idea企业版直接创建即可,此方法针对社区版

1>:安装springBoot Helper

通过网盘分享的文件:intellij-spring-assistant-2022.1.2.zip (别解压)
链接: https://pan.baidu.com/s/1CWzUNGPsd4YPeqYPCS3FZA?pwd=1234 提取码: 1234

2>:安装插件并创建

a.安装

b.创建

项目相关明细:

引入依赖:

文件路径选择好直接创建:

此时右下角会出现一个弹窗,点击同意即可创建成功

c.错误解决

一般进去会发现提示错了,没有从阿里云发现该依赖

我们可以去官网查找该依赖详细情况

发现在项目中多写了一个release,此时删除他,在刷新

可以发现OK了

3.页面详细解释

a.先介绍当前主页面的功能

旁边画蓝色横线的都是可以删除的,因为在当前文档用不到,maven仓库在settings设置好了,help与git当前项目用不掉

b.介绍pom里面的作用

注:若是将build注释,则打的jar包只是将编写的代码打包,而项目依赖的第三方maven配置没有打包

小问题(重):为什么发现上面的依赖没有写version???

回顾java的继承,子类继承父类后如果不重写,就默认使用父类的方法,重写后使用自己的

在pom中也有个父类,里面有一堆预设好的标签

在项目中,通过<parent>标签 “继承” 父包后,子 POM 的依赖不写版本号就用父包预设的;若手动写了版本号,就用自己指定的(覆盖父包默认)

c.常见的两种错误

(1).先看总体的解决思路

(2).针对下载错误

 发生错误时,按照上述过程一般到了第4个比较难,详细介绍一下

接着要么删除后重新刷新发现好了

要么就是版本号错误,鼠标悬停或者上述在仓库寻找版本号重写即可

(3).针对spring boot maven插件的下载错误

     可以发现上面的build里面没有写version,之所以没有显式配置版本号,是因为它继承了父项目 spring-boot-starter-parent 中定义的版本,

     若此时爆红,鼠标悬停可以看到对应的版本号,可以手动添加版本号

接着手动添加version即可

4.第一个springBoot项目

在main中创建一个HelloWord类

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloWord {@RequestMapping("/hello")public String helloWord(){return "hello,springboot";}
}

此时启动启动项目相当于启动服务器,不会打印"hello,springboot",但可以在网址中查看

boot项目启动后默认协议是http,可以通过IP地址+端口号(默认8080)+"/hello"来访问返回值

:http://127.0.0.1:8080/hello

此时会有很多人有疑问,咦,怎么能运行,先简单了解src目录下的文件

5.src目录详解

1>:简单目录理解

2>:注解标签的了解

在创建springboot中,法发现有许多注解标签,那么有什么用处??

所以:

注解标签是给代码 “贴身份、定规则” 的标记,确定了代码的角色类型,以及该框架要怎样执行该代码的规则逻辑

简单来说就是告诉程序你要干嘛,比如:

3>:注解标签的简单设置

若果我们在细节一点,会发现在src目录下有些文件(目录)的颜色不对,这里给大家列举出来解释

将对应的目录结构修改,会发生什么事?

发现不但文件后缀改变了,而且程序也无法运行,即使有标签也无法运行,那么目录结构有哪些??

4>:注解与目录结构的小总结

注解定义 “代码该起什么作用”,目录结构决定 “代码能否被框架识别并生效”,缺了任何一个都可能导致程序无法正常运行

光有注解标签只是区别程序在运行时的作用是什么,但还要看文件是否在对应的正确目录

比如:一个Application启动类在测试目录下或者在一个被取消了对应根本目录信息的java目录下,代码就无法运行

6.日志了解

当程序运行时会发现控制台一串数据跳过,接下来了解对应操作

// 该springboot项目启动,用java 17.0.9版本,进程PID = 47972,明确了代码路径 、启动用户、启动目录
2025-11-07T13:37:46.270+08:00  INFO 47972 --- [spring-boot-demo2] [           main] c.e.demo.SpringBootDemo2Application      : Starting SpringBootDemo2Application using Java 17.0.9 with PID 47972 (D:\java\java.object\spring-boot-demo2\target\classes started by ASUS in D:\java\java.object\spring-boot-demo2)//未设置加载文件,默认使用"default"配置文件
2025-11-07T13:37:46.273+08:00  INFO 47972 --- [spring-boot-demo2] [           main] c.e.demo.SpringBootDemo2Application      : No active profile set, falling back to 1 default profile: "default"// 初始化tomcat服务器,绑定端口号为:8080
2025-11-07T13:37:47.363+08:00  INFO 47972 --- [spring-boot-demo2] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)// 启动tomcat服务
2025-11-07T13:37:47.380+08:00  INFO 47972 --- [spring-boot-demo2] [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]// 启动servlet引擎,引擎版本为 Apache Tomcat/10.1.48
2025-11-07T13:37:47.381+08:00  INFO 47972 --- [spring-boot-demo2] [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.48]// 初始化web应用上下文
2025-11-07T13:37:47.452+08:00  INFO 47972 --- [spring-boot-demo2] [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext// 根 Web 应用上下文初始化完成,耗时 1120 毫秒
2025-11-07T13:37:47.453+08:00  INFO 47972 --- [spring-boot-demo2] [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1120 ms// Tomcat 在端口 8080(HTTP 协议)启动,上下文路径为 “/”
2025-11-07T13:37:47.845+08:00  INFO 47972 --- [spring-boot-demo2] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path '/'// 应用启动完成,总耗时 2.11 秒(进程运行时长 2.527 秒
2025-11-07T13:37:47.853+08:00  INFO 47972 --- [spring-boot-demo2] [           main] c.e.demo.SpringBootDemo2Application      : Started SpringBootDemo2Application in 2.11 seconds (process running for 2.527)

两个概念:

a.tomcat 与servlet

官方化:

 servlet是运行动态web应用的核心组件,也是一个,负责对web产生的http请求进行处理

 tomcat是基于web的服务器,也是servlet的容器,用于提供对应的运行环境调用该类进行数据处理

简答来说:先启动服务器tomcat,给servlet提供运行环境,接着启动该类调用方法进行数据处理

b.上下文的初始化

应用上下文是 Spring 容器的核心实现,它负责:

  • 管理所有 Bean 的生命周期(创建、初始化、销毁);
  • 处理 Bean 之间的依赖注入;
  • 提供资源加载、事件发布等核心功能。

简单来说,它是 Spring 应用的 “大脑”,统筹所有组件的协作

三.web的简单了解

     在前面我们对项目创建与运行有了简单认识,知道 Spring Boot 项目需要通过 HTTP 协议来访问。HTTP 作为客户端与服务器之间的数据传输格式,其底层构造其实较为复杂 —— 如果让程序员直接处理 HTTP 数据包的解析、组装,会消耗大量精力。这时候,Web 服务器就成了关键的 “幕后功臣”:它能自动解析 HTTP 数据包,把繁琐的协议细节封装起来,让程序员可以只聚焦于 “数据本身的正确性”(比如业务逻辑、数据对错)

     Web 服务器高效处理请求,核心是精准把控 “请求 - 响应” 流程。客户端发请求、服务器返回响应,过程中的状态(正常 / 出错)都通过状态码明确。接下来我们就来解析 Web 的 “请求 - 响应交互逻辑”,并通过 1XX、2XX、4XX、5XX 等状态码,理解访问时的各类场景。

1.常见的web服务器

常⻅的Web服务器有: Apache,Nginx, IIS, Tomcat, Jboss等,之前都需要下载,而现在tomcat已经集成在ieda里

2.请求与响应

与http里面的传输一样

四.总结

Spring Boot 是为了快速开发 Spring ⽽诞⽣的, Spring Boot 具备:
Spring Boot 提供了启动添加依赖的功能, 可以快速集成框架.
内置web服务器,⽆需配置 Tomcat 等 Web服务器,直接运⾏和部署程序.
可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发.
⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况等特点.
@SpringBootApplication 就可以启动 Spring Boot 项⽬了.

http://www.dtcms.com/a/581081.html

相关文章:

  • C++程序设计实验(黑龙江大学)
  • 全屋智能家居定制小程序
  • 做电影网站需多大的空间网站建设意义
  • 拓普建站推广wordpress域名变更
  • 深度学习从入门到精通(一):深度学习的分类
  • 进制转换--c
  • opencv 学习: 05 像素操作
  • Mamba YOLO: 基于状态空间模型的目标检测简单基线
  • Java 大视界 --Java 大数据在智慧农业农产品市场价格预测与种植决策支持中的应用实战
  • K8s的标签应用和调度
  • 如何应用动作捕捉技术让户外重体力工作更安全
  • rust中的Cargo.toml文件
  • PD快充诱骗芯片 XSP15 支持获取快充电压可与外部MCU共用D+D-网络与电脑传输数据
  • 蓝牙钥匙 第58次 蓝牙钥匙交互反馈设计:构建多感官无缝用户体验
  • spiderdemo第22题与webassembly的跨域
  • 【MySQL | 基础】通用语法及SQL分类
  • 【爬虫】分析天气网后,整理的一点理论上的理解
  • Web安全-文件上传漏洞-黑白名单及其它绕过思路(附思维导图)
  • WPF 高级 UI 定制:深入解析 VisualStateManager 与 Adorner
  • 全景相机市占率“罗生门”:影石的数据迷雾
  • 【2025】16届蓝桥杯 Java 组全题详解(省赛真题 + 思路 + 代码)
  • flas网站开发工具网店美工课程
  • 网站广告连接如何做wordpress.shop
  • Geobuilding模型转换,深圳市科技风贴图建筑物3dtiles倾斜摄影数据
  • CentOS 系统升级 OpenSSH 和 OpenSSL 的完整方案
  • PPIO上线Kimi K2 Thinking,兼容Anthropic协议
  • 本地项目上传至GitHub仓库标准操作手册
  • 如何做发表文章的网站网页设计模板图片家乡
  • 不停服务快速创建一个MySQL从节点加入已经存在的MGR集群中
  • TCP建立连接:三次握手(每次握手发的字段及字段值的解释)