本文来自博客园,作者:{张果},转载请注明原文链接:{SpringBoot学习笔记(一)——SpringBoot概要与快速入门}

一、Spring Boot概要

没有Spring Boot开发项目时各框架间的集成(如SSM)非常繁琐,兼容性问题处理麻烦,开发效率低。

1.1、Spring Boot 简介

使用 Spring Boot 可以很容易地创建出能直接运行的独立的、生产级别的基于 Spring 的应用。我们对 Spring 平台和第三方类库有自己的考虑,因此您可以从最基本的开始。大多数 Spring Boot 应用只需要很少的 Spring 配置。

您可以使用 Spring Boot 来创建一个可以使用 java -jar 命令来运行或者基于传统的 war 包部署的应用程序。我们还提供了一个用于运行 spring scripts 的命令行工具。

我们的主要目标是:

  • 为所有 Spring Boot 开发提供一个更快、更全面的入门体验。
  • 坚持自我虽好,但当需求出现偏离,您需要能迅速摆脱出来。
  • 提供大量非功能性特性相关项目(例如:内嵌服务器、安全、指标、健康检查、外部配置)。
  • 绝对没有代码生成,也不要求 XML 配置。

SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。2014 年 4 月,Spring Boot 1.0.0 发布。Spring的顶级项目之一(https://spring.io)。

1.2、Spring Boot特性

Spring Boot包含以下几个特性:

(1)、默认提供了大部分框架的使用方式,方便进行快速集

(2)、Spring Boot应用可以独立运行,符合微服务的开发理念

(3)、Spring Boot内置WEB容器,无需部署WAR包即可运行

(4)、提供了各种生产就绪型功能,如指标,健康检查和外部配置

(5)、Spring Boot通过网站提供了项目模板,方便项目的初始化

Spring Boot 兼容 Apache Maven 3.2 或更高版本。如果您还没有安装 Maven,可以到 maven.apache.org

您可以跟使用任何标准 Java 库的方式一样使用 Spring Boot。只需要在 classpath 下包含相应的 spring-boot-*.jar 文件即可。Spring Boot 不需要任何专用的工具来集成,因此您可以使用任何 IDE 或者文本编辑器,并且 Spring Boot 应用也没什么特殊之处,因此可以像任何其它 Java 程序一样运行和调试。

虽然您可以复制 Spring Boot 的 jar 文件,但我们通常建议您使用支持依赖管理的构建工具(比如 Maven 或者 Gradle)。

您可以将 Spring Boot 应用部署到任何一个 Servlet 3.0+ 兼容容器中。

虽然您可以在 Java 6 或者 Java 7 上使用 Spring Boot,但我们还是强烈推荐您使用 Java 8+。

1.3、Spring Boot资源

官网:
https://spring.io/projects/spring-boot

https://spring.io

官方文档:

https://docs.spring.io/spring-boot/docs/current/reference/html/

官方文档翻译:
https://www.springcloud.cc/spring-boot.html

http://felord.cn/_doc/_springboot/2.1.5.RELEASE/_book/

https://github.com/DocsHome/springboot

banner生成:

https://www.bootschool.net/ascii

1.4、前置学习内容

视频bilibili:

(1)、Java编程(JavaSE、JavaWeb、反射、泛型、多线程、AJAX)

(2)、Maven快速学习教程

(3)、Spring

(4)、Spring MVC(IDEA、Maven、SSM框架集成、多模块)

(5)、MyBatis快速学习教程

二、我的第一个SpringBoot程序

2.1、生成项目模板

2.1.1、在线生成项目模板

为方便我们初始化项目,Spring Boot给我们提供一个项目模板生成网站。

(1). 打开浏览器,访问:https://start.spring.io/

(2). 根据页面提示,选择构建工具,开发语言,项目信息等。

(3). 点击 Generate the project,生成项目模板,生成之后会将压缩包下载到本地。

当然,也可以在线预览项目生成后的代码,只需点击如下按钮即可:

在新窗口中就可以查看生成的代码了:

(4). 使用IDE导入项目,我这里使用IDEA,通过导入Maven项目的方式导入。

选择Maven项目:

多数情况下都直接Next就可以了,导入成功的项目如下所示:

2.1.2、IDE(集成开发工具)生成项目模板

(1)、创建新项目

(2)、选择Spring Initializr

(3)、选择填写项目信息

(4)、添加依赖

(5)项目位置与名称设定

点击完成就创建成功。

2.2、添加控制器

在“com.gdnf.hello”这个包下面添加一个类取名“HelloController”:

添加一个Action,并注解好:

package com.gdnf.hello;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController //注解告诉Spring将结果字符串直接呈现给调用者
public class HelloController { @RequestMapping("/hi") //路径映射
public String hello(){
return "Hello Spring Boot!";
}
}

添加成功后:

2.3、启动并运行

点击右上角绿色箭头就可以直接运行了,如要端口被占用(默认8080),可以配置修改,控制台信息如下:

在浏览器中输入:localhost:8081/hi就可以访问到定义到的action,如下所示

三、SpringBoot项目组成

3.1、默认目录结构

刚创建好的Spring Boot的项目结构比较简单,只包含三个文件夹。

src/main/java 放置程序开发代码

src/main/resources 放置配置文件

src/test/java 放置测试程序代码

而在其下,包含以下主要文件。

xxxApplication.java 应用的启动类,包含MAIN方法,是程序的入口

application.properties 一个空的配置文件,后续可以配置数据源等信息,比如修改端口号

xxxApplicationTests.java 一个简单的单元测试类

pom.xml mave的配置文件,是管理整个项目开发流程的核心文件

3.2、注解与代码

3.2.1、@RestController和@RequestMapping 注解

Example类的第一个注解是@RestController。这被称为 构造型注释。它为阅读代码的人提供了提示,并为Spring提供了该类扮演特定角色的提示。在这种情况下,我们的类是一个web @Controller,所以Spring在处理传入的Web请求时会考虑它。

@RequestMapping注解提供“路由”信息。它告诉Spring任何带有/路径的HTTP请求都应该映射到home方法。

@RestController注解告诉Spring将结果字符串直接呈现给调用者。

@RestController的作用等同于@Controller + @ResponseBody

3.2.2、@EnableAutoConfiguration注解

第二个类级别注释是@EnableAutoConfiguration。这个注释告诉Spring Boot根据你添加的jar依赖关系“猜测”你想要如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,因此自动配置假定您正在开发Web应用程序并相应地设置Spring。

Starters和自动配置

自动配置旨在与“Starters”配合使用,但这两个概念并不直接相关。您可以自由选择并在首发之外选择jar依赖项。Spring Boot仍然尽力自动配置您的应用程序。

3.2.3、main方法

我们的应用程序的最后一部分是main方法。这只是遵循应用程序入口点的Java约定的标准方法。我们的主要方法是通过调用run来委托Spring Boot的SpringApplication类。SpringApplication引导我们的应用程序,从Spring开始,然后启动自动配置的Tomcat Web服务器。我们需要将Example.class作为参数传递给run方法,以告诉SpringApplication哪个是主要的Spring组件。还会传递args数组以公开任何命令行参数。

四、作业

4.1、配置好Spring Boot开发环境。

4.2、完成第一个Spring Boot程序,要求如下:

  • 编写后台服务接收前端提交的参数,n1,n2
  • 前端使用vue与axios消费后台提供的服务,将响应回前台的数据填写在文档框n3中

Spring Boot学习笔记(一)----概要与入门的更多相关文章

  1. Spring Boot学习笔记2——基本使用之最佳实践[z]

    前言 在上一篇文章Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用已经对Spring Boot的基本体系与基本使用进行了学习,本文主要目的是更加进一步的来说明对于Spring B ...

  2. Spring Boot 学习笔记(六) 整合 RESTful 参数传递

    Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...

  3. Spring Boot 学习方法论-如何正确的入门 Spring Boot

    想要入门 Spring Boot,那么什么样的教程是符合初学者学习的(没有太多的Java基础但有一些程序基础或者软件编程知识). 这恰好能够勾出很多问题,比如是文章图文教程适合还是视频教程适合零基础初 ...

  4. Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用[z]

    前言 早在去年就简单的使用了一下Spring Boot,当时就被其便捷的功能所震惊.但是那是也没有深入的研究,随着其在业界被应用的越来越广泛,因此决定好好地深入学习一下,将自己的学习心得在此记录,本文 ...

  5. Spring Boot 学习笔记1---初体验之3分钟启动你的Web应用

    前言 早在去年就简单的使用了一下Spring Boot,当时就被其便捷的功能所震惊.但是那是也没有深入的研究,随着其在业界被应用的越来越广泛,因此决定好好地深入学习一下,将自己的学习心得在此记录,本文 ...

  6. Spring Boot学习笔记二

    Spring Boot入门第二篇 第一天的详见:https://www.cnblogs.com/LBJLAKERS/p/12001253.html 同样是新建一个pring Initializer快速 ...

  7. Spring Boot 学习笔记--整合Thymeleaf

    1.新建Spring Boot项目 添加spring-boot-starter-thymeleaf依赖 <dependency> <groupId>org.springfram ...

  8. 我的第一个spring boot程序(spring boot 学习笔记之二)

    第一个spring boot程序 写在前面:鉴于spring注解以及springMVC的配置有大量细节和知识点,在学习理解之后,我们将直接进入spring boot的学习,在后续学习中用到注解及其他相 ...

  9. Java框架spring Boot学习笔记(六):Spring Boot事务管理

    SpringBoot和Java框架spring 学习笔记(十九):事务管理(注解管理)所讲的类似,使用@Transactional注解便可以轻松实现事务管理.

  10. Spring Boot学习笔记---Spring Boot 基础及使用idea搭建项目

    最近一段时间一直在学习Spring Boot,刚进的一家公司也正好有用到这个技术.虽然一直在学习,但是还没有好好的总结,今天周末先简单总结一下基础知识,等有时间再慢慢学习总结吧. Spring Boo ...

随机推荐

  1. Java常用开发文档及工具

    一.实用工具/网站 1.PHP中文网:https://www.php.cn/ 2.Json工具:http://www.bejson.com/ 3.IT大哥导航:https://itdage.com/ ...

  2. React DevUI 18.0 正式发布🎉

    Jay 是一位经验丰富并且对质量要求很高的开发者,对 Angular.React 等多种框架都很熟悉,我们在开源社区认识,在我做开源社区运营的过程中,Jay 给了我很多帮助,他也是 React Dev ...

  3. python循环结构之while循环

    在python中,除了for循环,还有一个while循环 for循环:循环次数是明确了的 while循环:循环次数不确定,循环停止条件由用户自定义 # while语句结构 while 判断条件: 执行 ...

  4. css处理渲染的图片变形问题:object-fit: cover

    object-fit: cover完美解决!~

  5. [seaborn] seaborn学习笔记10-绘图实例(2) Drawing example(2)

    文章目录 10 绘图实例(2) Drawing example(2) 1. Grouped violinplots with split violins(violinplot) 2. Annotate ...

  6. [seaborn] seaborn学习笔记3-直方图Histogramplot

    文章目录 3 直方图Histogramplot 1. 基本直方图的绘制 Basic histogram 2. 数据分布与密度信息显示 Control rug and density on seabor ...

  7. python进阶之路4基本运算符、格式化输出

    内容回顾 PEP8规范 代码编写规范及美观 python注释语法 平时养成写注释的习惯 1.警号 2.三个单引号 3.三个双引号 常量与变量 1.变量语法结构 变量名 赋值符合 数据值 2.底层原理 ...

  8. Go语言的赞和喷

    (原发于 GitHub Pages,2019-01-01 23:22:43) 2019 年,我回来了. 不知不觉中,我入 PHP 的坑已经 3 年有余,入 Go 的坑也大半年了.作为不评论不舒服斯基星 ...

  9. 腾讯云服务器CentOS 7.6安装基本中间件

    腾讯云服务器CentOS 7.6安装基本中间件   摘要:由于最近开始学习Redis和Zookeeper了,因此使用云服务器的频率开始多了起来,并且开始了基础的安装教学,由于我之前确实没用过Linux ...

  10. pycharm下载 安装使用

    pycharm下载与使用 1.下载 ​ 该软件分免费版和收费版 ​ 免费版(community):功能少 ​ 收费版(professional):30天试用 ​ 我们尽量使用收费版本 ​ 官网地址:h ...