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。

相关推荐
爱丽_29 分钟前
深入理解 Java Socket 编程与线程池:从阻塞 I/O 到高并发处理
java·开发语言
济南壹软网络科技有限公司33 分钟前
云脉IM的高性能消息路由与离线推送机制摘要:消息的“零丢失、低延迟”之道
java·即时通讯源码·开源im·企业im
Seven9739 分钟前
剑指offer-46、孩⼦们的游戏(圆圈中最后剩下的数)
java
serendipity_hky1 小时前
互联网大厂Java面试故事:核心技术栈与场景化业务问题实战解析
java·spring boot·redis·elasticsearch·微服务·消息队列·内容社区
我真不会起名字啊1 小时前
C、C++中的sprintf和stringstream的使用
java·c语言·c++
qq_328067811 小时前
springboot4 启动 Unable to find JSON tool
spring boot·json
十点摆码1 小时前
Spring Boot2 使用 Flyway 管理数据库版本
java·flyway·数据库脚本·springboo2·数据库脚本自动管理
望道同学1 小时前
PMP/信息系统项目管理师 9 张 思维导图【考试必备】
前端·后端·程序员
毕设源码-钟学长1 小时前
【开题答辩全过程】以 基于Javaweb的电动汽车充电桩管理系统为例,包含答辩的问题和答案
java·spring boot
码事漫谈1 小时前
C++11到C++23语法糖万字详解
后端