• 聊聊SpringBoot | 第一章:快速搭建SpringBoot第一个应用


    快速搭建SpringBoot第一个应用


    1.简介

    本章仅介绍如何快速搭建第一个SpringBoot应用,细节内容下一章再做讲解,如果有需要,各位可以直接到Spring官网去了解。
    从 Spring Boot 项目名称中的 Boot 可以看出来,Spring Boot 的作用在于创建和启动新的基于 Spring 框架的项目。它的目的是帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用。Spring Boot 会选择最适合的 Spring 子项目和第三方开源库进行整合。大部分 Spring Boot 应用只需要非常少的配置就可以快速运行起来。
    Spring Boot 包含的特性如下:
    创建可以独立运行的 Spring 应用。
    直接嵌入 Tomcat 或 Jetty 服务器,不需要部署 WAR 文件。
    提供推荐的基础 POM 文件来简化 Apache Maven 配置。
    尽可能的根据项目依赖来自动配置 Spring 框架。
    提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
    没有代码生成,也没有 XML 配置文件。

    参考资料:

    IBM教程:http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/#ibm-pcon
    SpringBoot官方文档:http://docs.spring.io/spring-boot

    本文使用的IDE工具是 IDEA

    Talk is cheap, Show me the Code!

    2.第一个SpringBoot应用


    2.1创建Maven Web项目


    1.FiLe->New->Module,选择Maven,然后一直点击Next,如图所示:






    代码清单1.在pom文件加入以下配置

    <span style="font-family:Courier New;"><?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>
      <groupId>com.evanshare</groupId>
      <artifactId>springBootDemo</artifactId>
      <packaging>war</packaging>
      <version>1.0-SNAPSHOT</version>
      <!-- Inherit defaults from Spring Boot -->
      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.0.RELEASE</version>
      </parent>
    
      <!-- Add typical dependencies for a web application -->
      <dependencies>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
      </dependencies>
    
      <!-- Package as an executable jar -->
      <build>
        <plugins>
          <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    
    </project></span>

    2.在工程main目录下,创建一个JAVA目录,并创建一个入口类MainModule,按下图所示:



    代码清单2.MainModule.java如下:
    <span style="font-family:Courier New;">import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * Created by liangyh on 2016/9/10.
     * Email:10856214@163.com
     */
    @RestController
    @EnableAutoConfiguration
    public class MainModule {
        @RequestMapping("/")
        String sayHello() {
            return "Hello World!";
        }
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(MainModule.class, args);
        }
    }
    </span>

    (1)代码清单 1 中的 Java 类 MainModule是一个简单的可以独立运行的 Web 应用。

    (2)直接运行该 Java 类会启动一个内嵌的 Tomcat 服务器运行在 8080 端口。访问“http://localhost:8080”可以看到页面上显示“Hello World!”。也就是说,只需要简单的 2 个文件就可以启动一个独立运行的 Web 应用。并不需要额外安装 Tomcat 这样的应用服务器,也不需要打包成 WAR 文件。可以通过“mvn spring-boot:run”在命令行启动该应用。

    (3)在代码清单 1 中的 POM 文件中添加了“org.springframework.boot:spring-boot-maven-plugin”插件。在添加了该插件之后,当运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,使用“java -jar”命令就可以直接运行。这在很大程度上简化了应用的部署,只需要安装了 JRE 就可以运行。

    (4)代码清单 2 中的“@EnableAutoConfiguration”注解的作用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置,这就减少了开发人员的工作量。注解“@RestController”和”@RequestMapping”由 Spring MVC 提供,用来创建 REST 服务。这两个注解和 Spring Boot 本身并没有关系。


    3.通过Mvn spring-boot:run 启动SpringBoot项目


    4.通过浏览器访问localhost:8080,第一个SpringBoot项目就诞生啦!!!

  • 相关阅读:
    stat命令的实现-mysate 2075310
    实现mypwd
    2019-2020-1 20175310 20175317 20175320 实验五 通讯协议设计
    2019-2020-1 20175310 20175317 20175320 实验四 外设驱动程序设计
    课上测试
    2019-2020-1 20175310 《信息安全系统设计基础》第九周学习总结
    2019-2020-1 20175310 20175317 20175320 实验三 实时系统
    2019-2020-1 20175310 20175317 20175320 实验二 固件程序设计
    2019-2020-1 20175310 20175317 20175320 实验一 开发环境的熟悉
    2019-2020-1 20175310 《信息安全系统设计基础》第6周学习总结
  • 原文地址:https://www.cnblogs.com/evan-liang/p/12233950.html
Copyright © 2020-2023  润新知