美文网首页
01.`Spring Boot`项目的创建

01.`Spring Boot`项目的创建

作者: 风安峻_ | 来源:发表于2020-09-04 19:23 被阅读0次

1. IDEA默认创建

  1. Spring InitializrDefaultNext

    spring初始化器
  2. 项目信息

    项目信息
  3. 选择项目依赖初始化项

    项目依赖初始化项 支持的版本
  4. 核对项目路径 → Finish

    创建项目
  5. 项目结构

    项目结构
  6. 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>2.3.2.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.sheng</groupId>
        <artifactId>spring-boot-test01</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>spring-boot-test01</name>
        <description>Demo project for Spring Boot</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.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
    
    • parent继承了Spring Bootspring-boot-starter-parent,表示是一个Spring Boot工程。
  7. 程序入口类(以Application结尾)

    package com.sheng.spring.boot.test01;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class SpringBootTest01Application {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringBootTest01Application.class, args);
        }
    
    }
    
  8. 资源配置resources/application.yml(以application开头)

    • 默认为application.properties,默认为空。
    • Spring Boot中推荐使用properties或者yaml文件来完成配置,对于复杂配置来说,yaml相对来说优于properties
    • 对于yml的注释,在运行时最好删掉,不然可能会出错。
    server:
      # 修改端口
      port: 8080
      servlet:
        # 请求的路径
        context-path: /test
    
    yml
  9. 书写测试controllerHelloController

    @RestController
    @RequestMapping("/hello")
    public class HelloController {
        @GetMapping("/hello")
        public String hello() {
            return "hello Spring Boot";
        }
    }
    
  10. 直接运行程序入口类

    运行程序
  11. 访问

    • 由于在资源文件配置了请求路径/test,所以访问路径为http://127.0.0.1:8080/test/hello/hello
    访问

2. 默认的https://start.spring.io打不开时,可以使用https://start.aliyun.com创建

1. 以微服务思想创建。
2. 直接依赖了最顶层的spring-boot-dependencies
  1. https://start.aliyun.com

    ali初始化器
  2. 设置信息

    设置项目信息
  3. 选择依赖

    选择依赖
    • 对于阿里的依赖项,目前稳定的版本最高是2.30
    ali初始化器支持的版本
  4. pom.xml

    • 对于ali初始化器pom.xml,在dependencyManagement直接继承了spring-boot-dependencies。所以没有默认初始化器中的parentspring-boot-starter-parent,这是中间的继承。
    • build下的plugins也相对于默认的初始化器多了很多配置。
    <?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>
        <groupId>com.sheng</groupId>
        <artifactId>spring-boot-test02</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>spring-boot-test02</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <spring-boot.version>2.3.0.RELEASE</spring-boot.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-dependencies</artifactId>
                    <version>${spring-boot.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
  5. resources/application.properties不为空

    application.properties

3. Maven工程创建

  1. MavenNext

    创建maven空工程
  2. 设置项目信息

    设置信息
  3. 默认的目录结构以及pom.xml

    1. 目录结构以及pom.xml

      pom.xml
    2. 添加SpringBoot的起步依赖spring-boot-starter-parent

      • 继承SpringBoot的父工程,管理子工程的依赖版本。
      <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-parent</artifactId>
          <version>2.3.2.RELEASE</version>
          <relativePath/> <!-- lookup parent from repository -->
      </parent>
      
      继承SpringBoot父工程
    3. 添加name以及description(可不加)

      <name>spring-boot-test03</name>
      <description>Demo project for Spring Boot</description>
      
      • name属性跟项目名称一致
      • description是对项目的描述
      添加name跟说明
    4. 添加JDK的版本

      <properties>
          <java.version>1.8</java.version>
      </properties>
      
      JDK版本
    5. 添加SpringBoot的核心依赖

      <dependencies>
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter</artifactId>
          </dependency>
      </dependencies>
      
      SpringBoot核心依赖
      • 如果为web程序,则添加spring-boot-starter-web

        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
        </dependencies>
        
        SpringBoot Web 依赖
    6. 配置SpringBootMaven的整合插件

      <build>
          <plugins>
              <plugin>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-maven-plugin</artifactId>
              </plugin>
          </plugins>
      </build>
      
      SpringBoot跟Maven整合插件
  4. 添加程序的入口类

    • 类名一般为项目名+ Application
    • @SpringBootApplication修饰
    • 包名一般为pom.xml中的groupId+artifactId
    • 调用SpringApplicationrun方法
      • 传入的是入口类的字节码对象,main方法的args参数
    @SpringBootApplication
    public class SpringBootTest03Application {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringBootTest03Application.class, args);
        }
        
    }
    
    程序入口类
  5. 创建resources/application.yml(以application开头)

    server:
      # 修改端口
      port: 8080
      servlet:
        # 请求的路径
        context-path: /test
    
    创建application.yml
  6. 运行测试

    运行入口类 请求资源

相关文章

网友评论

      本文标题:01.`Spring Boot`项目的创建

      本文链接:https://www.haomeiwen.com/subject/lvrtektx.html