Spring Boot 入门

1.1.1 什么是Spring Boot

**Spring Boot是一个开源的Java应用框架,由Pivotal团队提供,旨在简化Spring应用的初始搭建以及开发过程。**‌ Spring Boot通过使用特定的配置方式,使得开发人员不再需要定义样板化的配置,从而在快速应用开发领域成为领导者。它的设计目的是为了消除大量的配置工作,通过自动配置来简化项目的创建和运行过程,使得开发者能够更快速地构建和部署基于Spring的应用。 Spring Boot遵循"约定优于配置"的原则,集成了绝大部分流行的开发框架,就像Maven集成了所有的JAR包一样,Spring Boot集成了几乎所有的框架,从而使得开发者能快速搭建Spring项目。

Spring Boot的官方定义是所有基于Spring开发项目的起点,它提供了快速构建微服务应用的能力,可以秒级创建一个微服务应用

1.1.2 Spring Boot 的优势

其实就是简单、快速、方便!平时如果我们需要搭建一个Spring Web 项目的时候需要怎么做呢?

  • 配置 web.xml,加载 Spring 和 Spring mvc
  • 配置数据库连接、配置 Spring 事务
  • 配置加载配置文件的读取,开启注解
  • 配置日志文件
  • ......
  • 配置完成之后部署 Tomcat 调试
  • ......

使用 Spring Boot 开发项目,有以下几个方面优势:

  • Spring Boot 使开发变得简单,提供了丰富的解决方案,快速集成各种解决方案提升开发效率。
  • Spring Boot 使配置变得简单,提供了丰富Staters,集成主流开源产品往往只需要简单的配置即可
  • Spring Boot 使部署变得简单,其本身内嵌启动容器,仅仅需要一个命令即可启动项目,结合Jenkins、DoCker 自动化运维非常容易实现。
  • Spring Boot 使监控变得简单,自带监控组件,使用 Actuator 轻松监控服务各项状态。

1.2 快速上手

说了那么多,手痒痒的很,马上来一发试试!

1.2.1 依赖环境

  • Ant (AnotherNeatTool)的核心是由Java编写,采用XML作为构建脚本,这样就允许你在任何环境下运行构建,Ant 是Java领域最早的构建工具,不过因为操作复杂,慢慢的已经被淘汰了。
  • Maven,Maven 发布于2004年,目的是解决程序员使用Ant所带来的一些问题,它的好处在于可以将项目过程规范化,自动化,高效化,以及强大的可扩展性。
  • Gradle,Gradle是一个基于Apache Ant 和Apache Maven 概念的项目自动化构建工具。它使用一种基于Gradle 的特定领域语言来声明项目设置,而不是传统的XML。结合了前两者的优点,在此基础之上做了很多改进,它具有Ant的强大和灵活,又有Maven的生命周期管理且易于使用。

1.2.2 构建项目

我没有两种方式来构建 Spring Boot 项目基础框架,第一种是使用 Spring 官方提供的构建页面,第二种是使用 Intellij IDEA 中的 Spring 插件来创建。

1.2.2.1 使用 Spring 官方提供页面构建

1、访问 http://start.spring.io/

2、选择构建工具 Maven Project、Java、Spring Boot 版本 2.1.15、Spring Web 依赖以及一些工程基本信息,可参考下图所示:

3、点击 Generate - Ctrl + 下载项目压缩包

4、解压后,使用 IDEA 导入项目,File -> New -> Model from Existing Source.. -> 选择解压后的文件夹 -> OK,选择 Maven 一路 Next,OK done!

5、如果使用的是Ecilpse,Import -> Existing Maven Projects -> Next -> 选择解压后的文件夹 -> Finsh,OK done!

1.2.2.2 使用 IDEA 构建

1、选择 File -> New -> Project... 弹出新建项目的框

2、选择 Spring Initiailaz,Next 也会出现上述类似的配置界面,IDEA 帮我们做了集成。如果没有 Spring Initializr 选项,可以进入 Settings,选择Plugins,输入 spring 搜索,找到 Spring Boot

勾选上,在重启就可以了。

3、填写相关内容后,点击 Next 选择使用的版本及依赖的包,再点击 Next ,最后确定信息无误点击 Finish。

相关推荐
实名上网宋凯宣9 小时前
Django
后端·python·django
天河归来10 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL10 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
利威尔xu10 小时前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
逃逸线LOF11 小时前
Ribbon负载均衡原理(Irule组件、源码分析)
后端·spring cloud·ribbon
砚底藏山河11 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
慢云智慧空间11 小时前
从设备智能到空间理解,空间智能终端解决方案商如何重新定义行业标准
后端
利威尔xu11 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
猿究院_夏燊12 小时前
MySQL 的四种隔离级别
java·数据库·mysql
薛定谔的猫-菜鸟程序员12 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师