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

JavaEE--SpringBoot

目录

一、Maven

1. 创建一个Maven项目

2. 核心功能

2.1 项目构建

2.2 依赖管理

2.2.1 依赖配置

2.2.2 依赖传递

2.2.3 依赖排除

2.3 Maven Helper插件

3.Maven仓库

二、第一个SpringBoot程序

1. SpringBoot项目创建

1.1 使用IDEA创建

1.2 使用网页创建

2. 项目代码和目录介绍

3. 运行项目

4. 输出Hello World

5. Web服务器


一、Maven

Maven 是一个基于 POM(Project Object Model)的项目管理和构建工具,主要用于 Java 项目。它简化了项目构建、依赖管理、报告生成和文档生成等任务,通过标准化的项目结构和生命周期管理,提高开发效率。

1. 创建一个Maven项目

IDEA本身已经集成了Maven,我们可以直接使用无需安装。

2. 核心功能
2.1 项目构建

Maven提供了标准的,跨平台(Linux,Windows,MacOS等)的自动化项目构建方式。

当我们开发了一个项目之后,代码需要经过编译,测试,打包,发布等流程,每次代码的修改,都需要经过这些流程,如果代码反复调试修改,这个流程就需要反复进行,就显得特别麻烦,而Maven给我们提供了一套简单的命令来完成项目的构建。

如点击package就可以完成项目的打包操作:

jar包(Java Archive)是Java平台的标准打包格式,用于封装编译后的Java类文件、资源文件和元数据。它通常用于库或独立应用程序。

war包(Web Application Archive)是专为Web应用程序设计的打包格式,基于jar包扩展而来,包含Web应用所需的特定目录结构(如WEB-INF/)和配置文件(如web.xml)。

2.2 依赖管理

Maven是一个项目管理工具,通过pom.xml文件的配置获取jar包,而不用手动去添加jar包。获取的jar包,其实就是依赖。

pom.xml就是maven的配置文件,用以描述项目的各种信息。
2.2.1 依赖配置

如JDBC,需要我们手动下载mysql-connector-java的包,并且添加到项目中。

在maven环境下,我们只需要在pom.xml中引入mysql-connector-java的依赖就可以了。

<dependencies><!--里面放置项目的依赖坐标,可为多个-->
</dependencies>

然后点击刷新:

就可以在项目中看到新加入的jar包。

2.2.2 依赖传递

依赖传递(Transitive Dependency)指在软件开发中,当项目A依赖项目B,而项目B又依赖项目C时,项目A会自动继承对项目C的依赖关系。这种机制简化了依赖管理,但可能引发版本冲突或安全性问题。

pom.xml中,通过<dependency>声明依赖,默认启用传递性。可通过<scope><optional>控制传递行为:

<dependency><groupId>org.example</groupId><artifactId>projectB</artifactId><version>1.0</version><!-- 禁止传递依赖 --><optional>true</optional>
</dependency>

如上文中,我们只添加了mysql-connector-java的依赖,却另外产生了protobuf-java的jar包,就是因为前者依赖后者的依赖传递。

2.2.3 依赖排除

依赖排除是指在项目管理中,通过配置显式地移除某个依赖项中的特定传递性依赖。这通常用于解决版本冲突、重复依赖或不需要的依赖问题。

在Maven项目中,可以在<dependency>标签内使用<exclusions>标签来排除不需要的传递性依赖:

<dependency><groupId>com.example</groupId><artifactId>example-library</artifactId><version>1.0.0</version><exclusions><exclusion><groupId>org.unwanted</groupId><artifactId>unwanted-module</artifactId></exclusion></exclusions>
</dependency>
2.3 Maven Helper插件

安装Maven Helper插件后,打开pom.xml可以看到jar包之间的依赖关系:

3.Maven仓库

Maven 仓库是用于存储项目依赖(如 JAR 文件)和插件的地方。主要分为三类:

  • 本地仓库:默认位于用户目录下的 .m2/repository,存储从远程仓库下载的依赖。
  • 中央仓库:Maven 官方维护的公共仓库,包含大量开源库(默认地址:https://repo.maven.apache.org/maven2)。
  • 远程仓库:包括私服(如 Nexus、Artifactory)或其他公开仓库(如 JCenter),需在 pom.xmlsettings.xml 中配置。

二、第一个SpringBoot程序

Spring官网

Spring 是一个轻量级的开源框架,用于构建企业级应用程序。它提供了一系列模块,如 Spring MVC、Spring Security、Spring Data 等,支持依赖注入(DI)和面向切面编程(AOP)。Spring 的核心是 IoC(控制反转)容器,负责管理对象的生命周期和依赖关系。

Spring Boot 是 Spring 的扩展,旨在简化 Spring 应用程序的初始搭建和开发过程。它通过自动配置、起步依赖(Starter Dependencies)和嵌入式服务器等特性,减少了开发者的配置工作。Spring Boot 默认集成了许多 Spring 模块,使得开发者可以快速构建独立运行的、生产级别的应用程序。

1. SpringBoot项目创建
1.1 使用IDEA创建

注:若使用社区版IDEA,则需要安装SpringBoot Helper插件,专业版不需要。

点next,

点create就创建好了。

1.2 使用网页创建

打开spring Initializr:

设置过程基本和IDEA差不多,最后点击CREATE,会触发下载项目:

然后再使用Idea打开之后,Spring Boot项目就算创建成功了。

2. 项目代码和目录介绍

观察pom文件:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.6</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.bite</groupId><artifactId>springboot-demo</artifactId><version>0.0.1-SNAPSHOT</version><name>springboot-demo</name><description>springboot-demo</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

主要观察<dependencies>标签里的内容,引入了两个依赖:

  • spring-boot-starter-web:包含了web应用开发所需要的常见依赖
  • spring-boot-starter-test:包含了单元测试所需要的常见依赖

每一个SpringBoot工程,都有一个父工程,依赖的版本号,在父工程中统一管理。父工程指定版本号后,就会自动引入和所指定版本对应的依赖,创建的SpringBoot项目,会继承SpringBoot父工程。

项目目录:

  • src/main/java:Java源代码
  • src/main/resources:为静态资源或配置文件
  • src/test/java:测试代码源代码
  • target:编译后的文件路径
  • pom.xml:Maven配置文件
3. 运行项目

可以看到如下图所示的日志:

4. 输出Hello World

在创建的项目包路径下创建Java文件HelloWorld,并实现如下代码:

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloWorld {@RequestMapping("/hello")public String hello() {return "Hello World!";}
}

重新启动项目,在浏览器上访问http://127.0.0.1:8080/hello:

5. Web服务器

Web服务器是用于存储、处理和传递网页内容的软件或硬件系统。它通过HTTP协议与客户端(如浏览器)通信,响应请求并返回HTML文件、图像、视频等资源。常见的Web服务器软件包括Apache、Nginx、IIS、Tomcat等。

SpringBoot内置了Tomcat服务器,无需配置即可直接运行。

Tomcat默认端口号是8080,所以我们程序访问时的端口号也是8080。


创作不易,麻烦给个三连支持一下吧

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

相关文章:

  • 《Muduo网络库:实现Logger日志类》
  • 开发避坑指南(58):Java Stream 按List元素属性分组实战指南
  • 郑州专门做网站的公司wordpress主题移植
  • Pinia 核心概念详解:Store, State, Getter, Action
  • Redis 64字节分界线与跳表实现原理
  • 网站租用价格wordpress后台打开太慢
  • Kanass入门到实战(3) - 如何进行需求管理
  • Java Web项目开发实战实战指南与实战技巧
  • 基于SiC的60kW LLC变换器采用新型变压器设计
  • CSP-J初赛试题之一
  • pip下载失败-python的pip镜像源修改为国内镜像源
  • 网站开发列表名人朋友圈网页版qq登录入口
  • Jenkins Pipeline 的 `sh` 步骤里使用 ‘‘‘ ... ‘‘‘和 “““ ... “““ 的区别,一篇文章搞定
  • 金融分析师职场学习技能提升方法分享
  • 网站打包app网站备案是需要去哪里做
  • YOLOv8深度解析:从架构革新到应用实践
  • CICD流程建设之持续测试实践指南
  • 津做网站嘉兴建设企业网站
  • 广州做购物网站平面设计培训班要学多久
  • 【复习】计网每日一题--ALOHA
  • 状态机模式:用Python Enum和字典.get()构建健壮的状态管理系统
  • 悬线法,dp 求解 P4147 玉蟾宫
  • 网站建设 北京wordpress关闭站点
  • 云南建投第十建设有限公司网站商城网站开发哪家好
  • 移动固态硬盘插入电脑后提示“需要格式化”或“文件系统损坏”如何修复?
  • ErrorProne 详解
  • 理解 Elasticsearch 中的分块策略
  • 政务服务网站建设整改报告想建个购物网站
  • 网站建设中如何设置外链接网站开发在哪里接活
  • SpringCloud与微服务