创建SpringBoot项目

557 阅读1分钟

引言

SpringBoot是后端开发主流的框架。 今天就从0到1梳理如何构建一个SpringBoot项目

创建springboot项目

Spring Initializr 使用官方网站自动生成并下载一个“Web”项目,
这里project选maven项目
spring boot选择最新版本就好了
打包方式选择jar
Java版本选择自己下载的jdk版本,JDK8和JDK1.8是同一个版本。

页面展示

WX20230506-105104@2x.png

SpringBoot使用了3.0或者3.0以上,因为Spring官方发布从Spring6以及SprinBoot3.0开始最低支持JDK17,所以仅需将SpringBoot版本降低为3.0以下即可。

启动Springboot项目时候报错
java: 无法访问org.springframework.boot.SpringApplication
  错误的类文件: /Users/markxrrl/.m2/repository/org/springframework/boot/spring-boot/3.0.6/spring-boot-3.0.6.jar!/org/springframework/boot/SpringApplication.class
    类文件具有错误的版本 61.0, 应为 52.0
    请删除该文件或确保该文件位于正确的类路径子目录中。

生成效果

WX20230506-094037@2x.png

pom.xml

<?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.0.6</version>
      <relativePath/> <!-- lookup parent from repository -->
   </parent>
   <groupId>com.camunda</groupId>
   <artifactId>demo</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <name>my-camunda</name>
   <description>Camunda Learn</description>
   <properties>
      <java.version>1.8</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>

常用依赖

完成项目初始化构建后。 可以将常用的依赖进行引入。 这边进行了一个总结清单。

 <properties>
      <java.version>1.8</java.version>
      <lombok.version>1.18.4</lombok.version>
      <fastjson2.version>2.0.29</fastjson2.version>
      <hutool.version>5.8.18</hutool.version>
   </properties>
 <dependencies>
     <!--Spring Validation-->
     <!--@Max,@Min-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>
    <!--Spring Boot Aop-->
    <!--支持注解: @AspectJ、@Pointcut、通知注解(如:@Before、@After等)、@Aspect和自定义注解-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>
    <!--简化了 JavaBean 的编写,避免了冗余和样板式代码而出现的插件,-->
    <!--支持注解: @Data, @Builder, @ToString-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
    </dependency>

    <!--alibaba fastjson2--> 
    <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2</artifactId>
        <version>${fastjson2.version}</version>
    </dependency>
     <!--hutool 工具类-->
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>${hutool.version}</version>
    </dependency>
    
    <!--热部署-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>

 </dependencies>

打包配置

<build>
    <plugins>
      <!-- 添加spring-boot的maven插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
       <!--指定JDK版本-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
         <!-- 打包跳过测试 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <skipTests>true</skipTests>
            </configuration>
        </plugin>
  </plugins>
    
    <!--编译的文件目录-->
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.txt</include>
                <include>**/*.xsl</include>
            </includes>
        </resource>

        <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>
</build>