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. 采用ResNet网络+TSNE降维算法对自建图像数据集进行二维可视化显示

    起因:某一天下午,我在"玩"的时候,突然接到了老板的电话,说是要对图像做可视化降维.因此,我拿到了一批图像的数据. 数据的特点: 1.数据集的图像分为4类,并且每一种类的图像多少不 ...

  2. Java虚拟机(JVM):第一幕:起源,不一定全,但是一定靠谱

    在学习JVM之前,先分享一则信息:2009 年4月20日,Orace 宣布正式以74 亿美元的价格收购市值曾超过2000 亿美元的Sun公司,传奇的Sun Microsystems 从此落幕成为历史. ...

  3. 【matplotlib 实战】--南丁格尔玫瑰图

    南丁格尔玫瑰图是一种用极坐标下的柱状图或堆叠柱状图来展示数据的图表. 虽然南丁格尔玫瑰图外观类似饼图,但是表示数据的方式不同,它是以半径来表示数值的,而饼图是以扇形的弧度来表达数据的. 所以,南丁格尔 ...

  4. 小景的Dba之路--如何导出0记录表以及数据泵的使用

    小景最近在系统压测相关的工作,其中涉及了数据备份导出的操作.今天的问题是:exp命令不会导出0记录表,那么我们探讨下如何导出0记录表以及数据泵的使用. 首先,我们先刨析一下问题现象及原因: 在 Ora ...

  5. RLChina2022公开课-博弈搜索算法

    序列决策 序列决策问题一般用马尔可夫决策模型进行描述 搜索算法的优化

  6. Windows系统下,GoLand的Terminal选定Git Bash作为终端,使用其上传代码时,出现中文乱码的问题

    问题描述 按照这位博主博客写的没有完全解决乱码问题博主博客 这个博主博客是我后来发现,暂时还没去验证是否可行博主博客 解决方案 notepad++直接Free Download,然后就一直下一步就无脑 ...

  7. JUC并发编程学习(五)集合类不安全

    集合类不安全 List不安全 单线程情况下集合类和很多其他的类都是安全的,因为同一时间只有一个线程在对他们进行修改,但是如果是多线程情况下,那么集合类就不一定是安全的,可能会出现一条线程正在修改的同时 ...

  8. [Python急救站课程]动态爱心绘画

    想不想画一个动态爱心来哄女朋友高兴呢? 那么它来啦 import random from math import sin, cos, pi, log from tkinter import * CAN ...

  9. 小景的Dba之路--压力测试和Oracle数据库缓存

    小景最近在做系统查询接口的压测相关的工作,其中涉及到了查询接口的数据库缓存相关的内容,在这里做一个汇总和思维发散,顺便简单说下自己的心得: 针对系统的查询接口,首次压测执行的时候TPS较低,平均响应时 ...

  10. Spring Cloud Seata 系列:Seata-Server (1.7.1)安装与配置(集成 Nacos)

    目录 一.简介 术语 事务模式 XA 模式 AT 模式 TCC 模式 Sage 模式 说明 二.Seata Server 存储模式 1.file 模式 ①修改application.xml ②启动Se ...