从 0 开始构建 springboot 项目

不使用 start.spring.io / idea工具,从 0 开始构建 springboot 项目,熟悉项目构建流程

环境准备

环境 maven: 3.3+, java: 8+
maven , java 的环境变量都有配置正确
java -version, mvn -version

  1. 选择你一个你喜欢的文本工具,创建 pom.xml 文件将以下内容复制进去,保存
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         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>
    <groupId>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
    </parent>
  
  
</project>

保存好后,可以在pom.xml 同级目录下面运行mvn package 进行检测,看看是否正常
BUILD SUCCESS 说明pom.xml 文件是正确的
如下图1 所示
图1

  1. 我们在上面的pom 文件中引入了springboot 父工程(spring-boot-starter-parent), 里面包含了后续要引入的基本的jar(Starts)版本信息,所以后续要引入的jar如果已经被springboot父工程管理了,后续不再需要引入版本信息,例如, 我们这次构建一个web项目,添加如下依赖到pom 文件中
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         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>
    <groupId>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
    </parent>

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

引入web依赖后,可以执行 mvn dependency:tree 查看项目中的jar依赖关系
如下 图2 所示
图2

  1. 用你喜欢的代码编辑工具 idea/ eclipse 导入maven 项目 ,创建src/main/java 目录,新建 Example.java 类

添加如下代码


 import org.springframework.boot.*;
 import org.springframework.boot.autoconfigure.*;
 import org.springframework.web.bind.annotation.*;
 @RestController
 @EnableAutoConfiguration
 public class Example {
  @RequestMapping("/")
  String home() {
  return "Hello World!";
  }
  public static void main(String[] args) {
     SpringApplication.run(Example.class, args);
  }
 }
  • Starts 可以和Springboot的自动装配很好的配合使用,比如项目中添加了spring-boot-starter-web,Springboot 将检查到,并以web的形式启动项目代码中
  • @RestController,@RequestMapping 是spring mvc 中的注解,用来处理客户端请求路由
  • @EnableAutoConfiguration是springboot的注解,用来启动springboot的自动装配,包含了上述 web工程的自动配置。
  • 我们直接通过SpringApplication类来启动应用,Example.class 作为自动配置类传递给SpringBoot应用,来完成自动装配
  1. 启动应用
    如果使用的是 ide/ eclipse 可以直接运行 Example main 函数,启动应用
    或者命令行 mvn spring-boot:run
    访问: http://localhost:8080
    输出 图3
    图3

  2. 将springboot 项目打包成可执行jar 文件

需要添加插件

<build>
  <plugins>
  <plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
  </plugins>
</build>

完整的xml 为

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         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>
    <groupId>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
    </parent>

    <!-- Additional lines to be added here... -->

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

    <build>
  <plugins>
  	<plugin>
  		<groupId>org.springframework.boot</groupId>
  		<artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>
</project>

执行 mvn package , 在target 目录将生成可执行jar
myproject-0.0.1-SNAPSHOT.jar 可以在target目录下
通过执行
java -jar myproject-0.0.1-SNAPSHOT.jar 运行项目
如下图所示
在这里插入图片描述
访问: http://localhost:8080
输出: Hello World


版权声明:本文为jia_cheng_007原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。