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。

相关推荐
茜茜西西CeCe4 分钟前
移动技术开发:简单计算器界面
java·gitee·安卓·android-studio·移动技术开发·原生安卓开发
bjzhang754 分钟前
SpringBoot开发——集成Tess4j实现OCR图像文字识别
spring boot·ocr·tess4j
救救孩子把9 分钟前
Java基础之IO流
java·开发语言
flying jiang9 分钟前
Spring Boot 入门面试五道题
spring boot
小菜yh10 分钟前
关于Redis
java·数据库·spring boot·redis·spring·缓存
宇卿.17 分钟前
Java键盘输入语句
java·开发语言
浅念同学17 分钟前
算法.图论-并查集上
java·算法·图论
希冀12318 分钟前
【操作系统】1.2操作系统的发展与分类
后端
立志成为coding大牛的菜鸟.30 分钟前
力扣1143-最长公共子序列(Java详细题解)
java·算法·leetcode
鱼跃鹰飞30 分钟前
Leetcode面试经典150题-130.被围绕的区域
java·算法·leetcode·面试·职场和发展·深度优先