开发你的第一个Spring Boot应用-1

一、创建SpringBoot项目的两种方式

线上初始化:https://start.spring.io/

File -> New -> Project...

 

手动创建Maven项目

二、创建或修改POM文件

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--Spring Boot的父依赖-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.linhw</groupId>
    <artifactId>helloworld</artifactId>
    <version>1.0-SNAPSHOT</version>
  
</project>

spring-boot-starter-parent(Idea按住CTRL然后单击版本号查看),Spring Boot应用的父级依赖。提供了SpringBoot统一的依赖管理和插件管理;主要的依赖其实是继承了spring-boot-dependencies(通过标签dependencyManagement管理依赖声明),本质是继承了它然后扩展了插件配置。

spring-boot-starter-parent具体作用:

  • 引入父pom里面的依赖时无须指定版本;
  • java版本,项目编码格式,资源引用描述符已经设置好
  • 插件管理
  • 封装了配置文件的过滤规则
  • 封装了打可执行jar、war的配置
  • 封装了插件的版本信息
  • 封装了日期格式
  • 引入了eclipse和IDEA相关依赖简化了配置,达到开箱即用等
添加类路径依赖

SpringBoot提供了许多“启动程序”,可以将jar添加到类路径中。我们在POM的parent部分使用spring-boot-starter-parent元素。spring-boot-starter-parent是一个特殊的启动器,它提供了有用的Maven默认值。它还提供了一个依赖项管理部分,以便你可以省略依赖项的版本标记。

其他“启动程序”提供了开发特定类型应用程序时可能需要的依赖项。因为我们正在开发一个web应用程序,所以我们添加了一个spring-boot-starter-web依赖项。

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

为了完成我们的应用程序,我们需要创建一个Java文件。默认情况下,Maven从src/main/java编译源代码,因此你需要创建该目录结构,然后添加一个名为 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);
    }

}
@RestController和@RequestMapping注解

@RestController标识我们的类是一个web的@Controller,Spring在处理传入的web请求时会考虑它。

@RequestMapping注解提供“路由”信息。它告诉Spring任何带有/path的HTTP请求都应该映射到home方法。@RestController注解告诉Spring将结果字符串直接呈现回调用者。

@EnableAutoConfiguration注解

@EnableAutoConfiguration注解告诉SpringBoot根据你添加的jar依赖项“猜测”你想要如何配置Spring。由于spring-boot-starter-web添加了Tomcat和springmvc,自动配置假定你正在开发一个web应用程序并相应地设置spring。

main方法

我们应用程序的最后一部分是主方法。这是一个标准方法,它遵循应用程序入口点的Java约定。我们的主方法通过调用run来委托SpringBoot的SpringApplication类。SpringApplication引导我们的应用程序,启动Spring,然后启动自动配置的tomcat web服务器。我们需要通过Example.class作为run方法的参数来告诉SpringApplication哪个是主要的Spring组件。args数组也被传递以暴露任何命令行参数。

创建一个可执行jar

我们通过创建一个完全自包含的可执行jar文件来完成我们的示例,该文件可以在生产环境中运行。可执行jar(有时称为“fat jar”)是包含编译类以及代码运行所需的所有jar依赖项的归档文件。 

为了创建一个可执行的jar,我们需要将 spring-boot-maven-plugin插件添加到pom.xml文件. 为此,请在dependencies部分的正下方插入以下行:

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

可以使用jar tvf查看内部,java -jar 执行jar文件。

 

posted @ 2019-09-13 11:09  codedot  阅读(386)  评论(0编辑  收藏  举报