首页 > 其他分享 >SpringBoot基础 - 准备工作(打包成可运行的jar)

SpringBoot基础 - 准备工作(打包成可运行的jar)

时间:2024-08-09 15:27:31浏览次数:23  
标签:SpringBoot Boot Spring 配置 jar Maven 应用 boot 成可

目录

A. 简介

B. 下载

一. 配置本地Maven

二. 修改阿里云 maven 镜像

三. 导入SpringBoot的相关依赖

C. 例子

D. 快捷使用



A. 简介

Spring Boot 是一种用于简化 Spring 应用开发的框架,它具有以下特点和优势:

一、简化配置

  1. 传统 Spring 应用配置的复杂性
    • 在传统的 Spring 应用中,需要进行大量繁琐的 XML 配置来管理各种组件,如数据库连接、事务管理、Bean 的创建和装配等。例如,配置数据库连接时,需要在 XML 文件中详细定义数据库驱动、URL、用户名、密码等信息,并且还需要配置数据源相关的 Bean 等。对于一个中等规模的应用,可能会有多个 XML 配置文件,每个文件都可能包含大量的配置代码,这不仅增加了开发的复杂性,也容易出错,而且对于开发者来说,需要花费大量时间去理解和维护这些配置。
  2. Spring Boot 的自动配置
    • Spring Boot 采用了自动配置的机制,极大地简化了这些配置过程。它能够根据项目中引入的依赖自动进行相关配置。例如,如果项目中添加了 MySQL 数据库驱动的依赖,Spring Boot 会自动探测到并配置好数据库连接相关的基本设置,开发者无需再手动编写大量的数据库配置代码。它还会根据应用的类型(如 Web 应用)自动配置相应的组件,如内置了 Tomcat 服务器的默认配置,开发者只需简单引入相关依赖,就可以快速搭建起一个 Web 应用环境,而不需要像传统 Spring 应用那样进行复杂的服务器配置。

二、快速开发

  1. 内置起步依赖
    • Spring Boot 提供了一系列的起步依赖(Starter Dependencies),这些起步依赖是一组经过精心挑选和预配置的依赖集合。例如,当开发一个 Web 应用时,只需要在项目的构建文件(如 Maven 或 Gradle 的配置文件)中引入 spring-boot-starter-web 依赖,这个依赖就会自动包含了构建 Web 应用所需的一系列库和框架,如 Spring MVC、Jackson(用于 JSON 数据处理)等。这使得开发者无需逐个查找和添加每个相关的库,大大节省了开发时间,并且保证了这些库之间的兼容性。
  2. 简化项目构建
    • 对于项目构建过程,Spring Boot 也进行了优化。以 Maven 为例,使用 Spring Boot 创建一个新的项目时,可以通过 Maven 的 Archetype 快速生成项目的基本结构,并且自动配置好相关的依赖和基础代码。开发者可以直接在生成的项目基础上进行业务代码的编写,无需过多关注底层的构建配置细节。而且,Spring Boot 支持热部署功能,在开发过程中,当对代码进行修改后,应用可以自动重新加载,无需手动重启服务器,极大地提高了开发效率。

三、微服务支持

  1. 易于构建独立的微服务
    • 在微服务架构中,每个微服务都应该是独立部署和可扩展的。Spring Boot 非常适合构建这种微服务。开发者可以使用 Spring Boot 快速创建一个个独立的应用模块,每个模块都可以作为一个微服务。每个微服务可以专注于特定的业务功能,并且可以独立进行开发、测试和部署。例如,一个电商系统可以拆分为商品服务、订单服务、用户服务等多个微服务,每个微服务都用 Spring Boot 进行开发,它们之间可以通过轻量级的通信机制(如 RESTful API)进行交互。
  2. 与云平台的集成
    • Spring Boot 能够很好地与云平台进行集成,适应云原生应用的开发需求。它支持多种云平台部署方式,如可以轻松地将应用部署到 Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform 等云服务提供商的平台上。同时,Spring Boot 还提供了一些与云平台相关的功能支持,如对云平台的配置管理(如读取云平台的环境变量等)、服务发现(如与 Netflix Eureka 等服务发现组件集成)等,使得在云环境下开发和管理微服务更加便捷。

四、监控和管理

  1. 内置的监控指标
    • Spring Boot 提供了内置的监控功能,可以实时监控应用的运行状态。它提供了一系列的监控指标,如应用的内存使用情况、CPU 利用率、数据库连接情况、HTTP 请求的响应时间等。这些指标可以帮助开发者及时了解应用的运行性能和健康状况,以便在出现问题时能够快速定位和解决。例如,通过监控数据库连接情况,可以及时发现数据库连接池是否满了或者是否存在慢查询等问题。
  2. Actuator 模块
    • Spring Boot 的 Actuator 模块提供了对应用进行管理和监控的端点(Endpoints)。通过这些端点,可以获取应用的各种信息并进行一些管理操作。例如,可以通过 /health 端点获取应用的健康状况信息,包括数据库连接是否正常、依赖的其他服务是否可用等;通过 /metrics 端点可以获取应用的各种度量指标,如请求的吞吐量、错误率等;还可以通过 /shutdown 端点安全地关闭应用等。这些端点可以方便地与监控系统(如 Prometheus、Grafana 等)集成,实现对应用的全面监控和可视化管理。

总的来说,Spring Boot 以其简化配置、快速开发、对微服务的良好支持以及强大的监控管理功能等特点,成为了 Java 应用开发中非常受欢迎的框架,大大提高了开发效率和应用的质量,并且适应了现代应用开发的多种需求,无论是构建传统的企业级应用还是新兴的微服务架构应用。

B. 下载

一. 配置本地Maven

下载地址:

Maven – Download Apache Maven

解压到本地文件夹

配置IDEA

二. 修改阿里云 maven 镜像

打开本地 settings.xml

  <mirror>
    <id>alimaven</id>
    <mirrorOf>*</mirrorOf>
    <name>aliyun maven</name>
    <url>https://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>

三. 导入SpringBoot的相关依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>3.3.2</version>
        </dependency>
    </dependencies>

完成

C. 例子

Main

package org.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

//TIP 要<b>运行</b>代码,请按 <shortcut actionId="Run"/> 或
// 点击装订区域中的 <icon src="AllIcons.Actions.Execute"/> 图标。
@SpringBootApplication
public class Main {
    public static void main(String[] args) {
//
        SpringApplication.run(Main.class, args);
    }
}
ControllerHello
package org.example;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ControllerHello {

    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        return "Hello World";
    }
}


PS报错端口被占用

新建  

application.properties

更改端口即可

server.port=8083

启动成功

打开网址

http://127.0.0.1:8083/hello

D. 快捷使用

使用spring-boot-maven-plugin打包 Spring Boot 应用为 JAR 文件

一、引入插件

  1. 确保在项目的pom.xml文件中已经正确引入了spring-boot-maven-plugin插件。在<build>标签内,应该有类似如下的配置:
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中 -->
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

二、执行打包命令

  1. 在项目的根目录下(即包含pom.xml文件的目录),打开命令行终端。
  2. 运行以下 Maven 命令来打包项目:
   mvn clean package
  • mvn clean命令会先清理项目的目标目录(通常是target目录),删除之前的编译和打包结果等。
  • mvn package命令会触发 Maven 的打包过程。对于 Spring Boot 项目,spring-boot-maven-plugin会在这个过程中起作用,将项目及其依赖打包成一个可执行的 JAR 文件。

三、查看打包结果

  1. 打包成功后,在项目的target目录下,你会找到生成的 JAR 文件。
  2. 这个 JAR 文件包含了你的应用代码以及所有的依赖库,可以直接运行。

其中,<mainClass>用于指定应用的主类,当你运行 JAR 文件时,Spring Boot 会从这个主类开始启动应用。<includes>部分可以用来指定要包含在 JAR 文件中的特定依赖(这里只是示例,根据实际情况修改)。

通过以上步骤和配置,你就可以使用spring-boot-maven-plugin成功打包 Spring Boot 应用为 JAR 文件。

PS:当你在命令提示符中遇到“无法将‘mvn’项识别为 cmdlet、函数、脚本文件或可运行程序的名称”这个错误时,把解压的Maven的Bin路径添加到环境变量path

四、运行

进入  target目录

运行成功

正常打开网页

标签:SpringBoot,Boot,Spring,配置,jar,Maven,应用,boot,成可
From: https://blog.csdn.net/Cx20190420/article/details/141018242

相关文章