zoukankan      html  css  js  c++  java
  • 【Spring Boot】我的第一个Spring Boot练习

    背景

    Spring 在 Java 生态的企业级开发项目中极其常用,通常我们为项目引入一项新技术时,不得不考虑如何将新技术与 Spring 整合在一起。

    我们知道,预研一项新技术,我们基于 MVP(最简化可实行产品)原则,有助于使我们聚焦在新技术本身,也可以避免其他问题的干扰。

    所以,我们经常需要搭建一个最简单的 Spring Boot 的练习,本文做个简单的记录。

    要提前准备什么?

    1. 基础的 Java 知识
    2. 好用的 IDE(集成开发环境),本文使用 IDEA
    3. JDK(Java 开发工具),本文使用 JDK8

    搭建步骤

    spring initializr 的网站生成 Spring Boot 的脚手架,本文加入了 “Web 模块”,使用的具体配置如下:

    点击 GENERATE 就能生成脚手架的代码并下载下来,然后我们解压代码,并把代码引入IDEA。

    为了提供Web服务用于测试,我们添加一个Controller,下文的Controller的意图是添加一个“心跳接口”,如果“心跳接口”返回“SUCCESS”,表示应用的接口服务正常:

    package com.example.demo;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HeartBeatController {
    
        @GetMapping("/heartBeat")
        public String hello() {
            return "SUCCESS";
        }
    
    }
    

    然后,我们运行 com.example.demo.DemoApplication#main 方法即可启动项目:

    启动,及阅读启动日志

    如无意外,启动后会看到如下日志(日志为了方便查看,做了部分内容删减):

      .   ____          _            __ _ _
     /\ / ___'_ __ _ _(_)_ __  __ _    
    ( ( )\___ | '_ | '_| | '_ / _` |    
     \/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::                (v2.5.5)
    
    com.example.demo.DemoApplication         : Starting DemoApplication using Java 1.8.0_191 on USER-20200704PZ with PID 816 (D:workspacedemo	argetclasses started by Administrator in D:workspacedemo)
    com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
    o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
    o.apache.catalina.core.StandardService   : Starting service [Tomcat]
    org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.53]
    o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
    w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1861 ms
    o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
    com.example.demo.DemoApplication         : Started DemoApplication in 3.272 seconds (JVM running for 4.028)
    o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
    o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
    o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
    

    通过阅读启动日志,我们可以知道最简单的 Spring Boot 相应的启动过程:

    1. 打印 Banner 文字图案,当然,这个文字图案是可配置的,请自行查询
    2. 打印什么用户什么机器哪个进程号使用什么版本的JDK启动服务
    3. 打印使用的 Profile,本文是default
    4. 打印启动服务器所使用的服务端口,本文是8080
    5. 启动服务
    6. 启动 Servlet 引擎,本文是 Apache Tomcat/9.0.53
    7. 初始化WebApplicationContext
    8. Web服务器启动完成,打印使用的协议端口上下文路径,本文分别是:http8080、空上下文路径
    9. 打印启动应用所耗费的时间JVM运行的时间
    10. 打印初始化Spring DispatcherServlet 的过程

    最后,我们使用浏览器访问 http://127.0.0.1:8080/heartBeat 即可看到效果:

    作者:Nick Huang 博客:http://www.cnblogs.com/nick-huang/
    本博客为学习、笔记之用,以笔记形式记录学习的知识与感悟。学习过程中可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教。
    如果本文对您有用,点赞评论哦;如果您喜欢我的文章,请点击关注我哦~
  • 相关阅读:
    Python实现栈、队列、双端队列
    Redis主从配置、数据持久化、集群
    Redis安装,数据类型及常用命令
    nginx+uwsgi环境部署
    Nginx负载均衡、location匹配
    Nginx安装、多域名访问
    Linux-mysql的备份与恢复
    Linux-mysql主从复制
    Python dumps()的使用
    Python rpush()函数
  • 原文地址:https://www.cnblogs.com/nick-huang/p/15400118.html
Copyright © 2011-2022 走看看