从零开始构建 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 文件是正确的
如下图所示

图1.png

2. 我们在上面的pom 文件中引入了springboot 父工程(spring-boot-starter-parent), 里面包含了后续要引入的基本的jar(Starts)版本信息,所以后续要引入的jar如果已经被springboot父工程管理了,后续不再需要引入版本信息,例如, 我们这次构建一个web项目,添加如下依赖到pom 文件中

<dependencies>
  <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
</dependencies>
复制代码

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

图2.png

3. 用你喜欢的代码编辑工具 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应用,来完成自动装配

4. 启动应用

如果使用的是ide/ eclipse 可以直接运行 Example main 函数,启动应用
或者命令行 mvn spring-boot:run

访问: http://localhost:8080
输出下图

图3.png

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

需要添加插件

<build>
  <plugins>
  <plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
  </plugins>
</build>
复制代码

执行 mvn package , 在target 目录将生成可执行jar
myproject-0.0.1-SNAPSHOT.jar 可以在target目录下
通过执行
java -jar myproject-0.0.1-SNAPSHOT.jar 运行项目
如下图所示

图4.png

附: 完整的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>
  
   <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>
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享