Spring Boot简介

  • 自从2014年4月Pivotal团队推出以来,作为一个基于Spring的开源轻量级框架,备受企业级应用喜爱
  • 简化Spring应用的搭建与开发过程

  • 是对Spring缺点进行的改善和优化,基于约定优于配置的思想,简化配置,让开发人员聚焦于业务,提高开发效率
    开箱即用,也无需复杂XML配置
  • 提供一些常见的非功能性特性,如嵌入Web服务器、健康检测、外部配置等
  • Spring Boot基于Spring,但重点并不只是对其功能进行增强,而是一个脚手架,提供了一种快速使用Spring的方式

创建一个Spring Boot应用

步骤

  1. 在File菜单中选择New Project
  2. 在菜单中选择Spring Initializr,选择本地安装的JDK,Server URL使用Default
  3. 按照指引,一步一步完成即可创建一个Spring Boot应用
  4. 本地运行,在入口的main方法所在类右键Run…或Debug…,即可运行创建的项目

Spring Boot项目目录结构

  • src:源代码文件和测试文件目录
  • src/main:源代码文件目录
  • src/main/java:源代码文件目录,所有开发源代码相关的包、类、接口等其他内容都在些目录
  • main方法入口类:在src/main/java目录中,其他源代码都应在此类所在包或其后代包中,并且此类默认会加上@SpringBootApplication注解,才标识此项目为Spring Boot项目
  • src/main/resources:配置文件和资源目录,所有开发配置资源在此目录规划,比较常用的有application.properties/application.yaml
  • src/test目录:测试文件目录
  • application.properties:项目配置文件,包括项目名称、端口、第三方工具的配置参数等
  • pom.xml:项目Maven配置文件,包括项目信息、依赖配置、构建相关信息配置

Spring Boot日志输出格式

  • Spring Boot项目启动后,会按时间顺序记录项目中各种组件输出的各种类型的日志信息
  • 在开发过程和项目运行过程中,都需要会查看,并分析日志信息,尤其是异常信息
  • 一条日志信息从左到右顺序包括如下内容,具体见下图
    1. 时间:精确到毫秒,便于排序

    2. 日志级别:ERROR、WARN、INFO、DEBUG或TRACE

    3. 进程ID:操作系统进程号

    4. 分隔符:---

    5. 线程名:在一对[]中间

    6. 日志名:通常是类名,超长会进行缩写

    7. 日志信息:日志详细信息,是重点要分析的内容,尤其是如果产生异常;产生异常时,在该条日志下,还会有红色异常栈信息

示例

  • 附件中是创建的一个简单的Spring Boot项目
  • 在ApiController中,通过/api/sayHello、/api/getUser提供了REST服务
  • 启动后,在本机可通过http://localhost:8081/api/sayHello、http://localhost:8081/api/getUser访问定义的服务
  • 示例见附件:https://files.cnblogs.com/files/sangrei/2-springboot-demo.zip?t=1667204659

Spring Boot入坑-2-第一个Spring Boot项目的更多相关文章

  1. 搭建Spring开发环境并编写第一个Spring小程序

    搭建Spring开发环境并编写第一个Spring小程序 2015-05-27      0个评论    来源:茕夜   收藏    我要投稿 一.前面,我写了一篇Spring框架的基础知识文章,里面没 ...

  2. 扩展一个boot的插件—tooltip&做一个基于boot的表达验证

    在线演示 本地下载 (代码太多请查看原文) 加班,加班加班,我爱加班··· 我已经疯了,哦也. 这次发一个刚接触boot的时候用boot做的表单验证,我们扩展一下tooltip的插件,让他可以换颜色. ...

  3. Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目

    原文:Java web 项目搭建 Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring ...

  4. Spring框架——事务管理方式搭建一个小的项目

    学习Spring框架,通过事务管理的方式搭建一个小的项目,该项目可以查询对数据库中的图书库存数量进行修改. 首先,使用MVC分层的设计模式思想搭建项目目录结构. 此部分代码源码之中都有相关注释,所以尽 ...

  5. spring的作用及优势---第一个spring示例

    Spring 的作用及优势  * Spring 用于整合,好处是解耦. 解耦,可以降低组件不组件乊间的关联,改善程序结构,便于系统的维护和扩展. 我们在使用 Spring 框架时,主要是使用 Spri ...

  6. 初识Spring Boot框架(二)之DIY一个Spring Boot的自动配置

    在上篇博客初识Spring Boot框架中我们初步见识了SpringBoot的方便之处,很多小伙伴可能也会好奇这个Spring Boot是怎么实现自动配置的,那么今天我就带小伙伴我们自己来实现一个简单 ...

  7. 挖个坑,写一个Spring+SpringMVC+Mybatis的项目

    想挖个坑督促自己练技术,有时候想到一个项目,大概想了一些要实现的功能,怎么实现.现在觉得自己差不多能完成QQ空间的主要功能了.准备立个牌坊,写一个类似功能的网站.并且把进度放到这里来. 初步计划实现以 ...

  8. Spring boot 入门-从idea 创建一个Spring boot应用!

    1.File->New Project. http://start.springboot.io 2.下一步. 3.选择依赖. 4.生成项目. 5.运行. 6.设置Tomcat端口 src\mai ...

  9. Spring入门(1)-第一个Spring项目

    1. 创建maven项目,maven相关配置如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi= ...

  10. Spring学习之路三——第一个Spring程序(体会IoC)

    体会IoC:Spring通过一种称作控制反转(IoC)的技术促进了松耦合.当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象.你可以认为IoC与JN ...

随机推荐

  1. FX3U-3A-ADP模拟量和数字量之间转换

    简单的例子: 0-10V对应0-8,4-20mA对应0-30 以下是对上面例子的详解: 电压: 电压(0-10V) 0-10V对应着数字量0-4000 数字量与变频器HZ量之间的关系是(4000-0) ...

  2. Django框架——Django与Ajax、分页器

    文章目录 1 Django与Ajax 一 什么是Ajax 优点: 二 基于jquery的Ajax实现 Ajax-->服务器-->Ajax执行流程图 三 案例 一 通过Ajax,实现前端输入 ...

  3. Python开发之Django框架

    一. Django框架 01.网络软件开发架构演变过程 02.HTTP协议讲解 03.web应用与框架介绍及手撸web框架 04.Django入门项目创建与必会三板斧 05.Django静态文件配置与 ...

  4. 记一次有趣的 buffer overflow detected 问题分析

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明   无 前言   在我开发的一个实验和学习库中,在很久 ...

  5. YbtOJ 数位DP G.幸运666

    日常写点奇奇怪怪的乱搞做法 awa 这题跟前面几道数位 DP 的区别在于让求第 \(n\) 小的数. 虽然我不会求也不想学这个,但我们可以 binary search! 问题就转换为求 \([1,mi ...

  6. JAVA类的加载(4) ——类之间能够隔离&类占用的资源能回收

    一.类加载体系

  7. .Net Core 3.1 服务端配置跨域

    一.在Startup.cs 的 ConfigureServices 配置好跨域策略 原文链接:https://www.jianshu.com/p/534b9a6a6ed5 public void Co ...

  8. vivado生成Bitstream报错[Vivado 12-1345] Error(s) found during DRC. Bitgen not run(Vivado 2017.4)。

    写了一个很简单的程序,2-4译码器. module decoder2to4( input in1, in0, output reg [3:0]out ); always @ (*) begin if ...

  9. JSX、TSX 整体理解

    可以少去理解一些不必要的概念,而多去思考为什么会有这样的东西,它解决了什么问题,或者它的运行机制是什么? JS JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web, ...

  10. STM32一个定时器输出四路不同频率和占空比PWM波的方法

    一般来说,一个定时器输出4路频率相同.占空比不同的PWM波是比较容易的,使用PWM模式即可实现.如果说是输出4路频率不同.占空比不同的PWM就没有现成的模式,是不是无法实现了呢?答案肯定是" ...