走进Spring Boot的世界

简介: 走进Spring Boot的世界

Spring Boot是一个框架,一种全新的编程规范,它的产生简化了框架的使用,所谓简化是指简化了Spring 众多框架中所需的大量且烦琐的配置文件,所以 Spring Boot 是一个服务于框架的框架,服务范围是简化配置文件。从本质上来说,Spring Boot 其实就是 Spring框架的另一种表现形式。


01、什么是Spring Boot


Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。使用Spring Boot框架可以做到专注于Spring应用的开发,无须过多关注样板化的配置。


在Spring Boot框架中,使用“约定优于配置(COC,Convention Over Configuration)”的理念。针对企业应用开发,提供了符合各种场景的spring-boot-starter自动配置依赖模块,这些模块都是基于“开箱即用”的原则,进而使企业应用开发更加快捷和高效。可以说,Spring Boot是开发者和Spring框架的中间层,目的是帮助开发者管理应用的配置,提供应用开发中常见配置的默认处理(即约定优于配置),简化Spring应用的开发和运维,降低开发人员对框架的关注度,使开发人员把更多精力放在业务逻辑代码上。通过“约定优于配置”的原则,Spring Boot致力于在蓬勃发展的快速应用开发领域成为领导者。


02、Spring Boot的优点


概括来说,Spring Boot主要有以下优势:

(1) 快速创建独立运行的Spring项目及与主流框架集成。

(2) 使用嵌入式的Servlet容器,应用无须打包成War包。

(3) starters自动依赖与版本控制。

(4) 大量的自动配置,从而简化开发,需要时也可修改默认值。

(5) 无须配置XML,无代码生成,开箱即用。

(6) 在准生产环境运行时应用监控。

(7) 与云计算的天然集成。


微服务是未来发展的趋势,项目会从传统架构慢慢转向微服务架构,因为微服务可以使不同的团队专注于更小范围的工作职责、使用独立的技术、更安全更频繁地部署。而SpringBoot继承了Spring 的优良特性,与Spring一脉相承,而且支持各种REST API 的实现方式。


03、Spring Boot的主要特性


1●约定优于配置

Spring Boot遵循“约定优于配置”的原则,只需很少的配置,大多数情况直接使用默认配置即可。


2●独立运行的Spring应用

Spring Boot可以以jar包的形式独立运行。使用java -jar命令或者在项目的主程序中执行main方法运行Spring Boot应用(项目)。


3●内嵌Web容器

内嵌Servlet容器,Spring Boot可以选择内嵌Tomcat、Jetty等Web容器,无须以war包形式部署应用。


4●提供starter简化Maven配置

Spring Boot提供了一系列的starter pom简化Maven的依赖加载,基本上可以做到自动化配置,高度封装,开箱即用。


5●自动配置Spring

Spring Boot根据项目依赖(在类路径中的jar包、类)自动配置Spring框架,极大减少了项目的配置。


6●提供准生产的应用监控

Spring Boot提供基于HTTP、SSH、TELNET对运行的项目进行跟踪监控。


7●无代码生成和XML配置

Spring Boot不是借助于代码生成来实现的,而是通过条件注解来实现的。提倡使用Java配置和注解配置相结合的配置方式。很方便快捷。


04、Spring Boot环境准备


在开始学习Spring Boot前,应先准备好开发环境。本节将介绍如何安装JDK、IntelliJIDEA 及Apache Maven。


1●JDK 环境

建议使用JDK1.8及以上的版本,官方下载地址为https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。大家可以根据自己的需求选择合适的JDK安装包,这里不过多赘述。


2●开发工具IDEA

IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,IDEA 在业界被公认为最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说是超常的。


IntelliJ IDEA 在官网上这样介绍自己: IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。


在IntelliJ IDEA 的官方网站https://www.jetbrains.com/idea/download/#section=Windows下载IDEA。大家可以根据自己的需求选择合适的IDEA 版本,只要版本不过低即可。下载完成后,运行安装程序,根据提示安装即可。


3●安装与配置Maven

Maven是目前最流行的项目管理工具之一。Maven官方下载网址为http://maven.apache.org/download.cgi,大家可以根据自己的需求下载合适版本的Maven。虽然在IDEA 中已经包含Maven插件,但是我还是希望大家在工作中能安装自己的Maven插件,以此方便项目配置。


下载完成后解压,然后将安装路径(例如D:\java\apache-maven-3.3.9\bin)配置在环境变量path中。配置完成后,在命令窗口中执行: mvn -v,如果输出如图10-1所示的内容,表示Maven安装成功。

image.png

安装成功后,在IDEA 中配置Maven,具体步骤如下。

(1) 在安装目录(如: D:\java\apache-maven-3.3.9)下新建文件夹repository,用来作为本地仓库。

(2) 修改apache-maven-3.3.9→conf→settings配置文件,如图10-2所示。

image.png

■ 图10-2 settings.xml配置文件修改

(3) 在IDEA 界面中选择File→Settings,在窗口中搜索Maven选项,配置为自己的Maven,如图10-3所示。

image.png


05、Spring Boot的三种创建方式


Spring Boot本质上是一个Maven工程,下面介绍三种创建方式。


1●在线创建

在线创建是Spring Boot官方提供的一种创建方式,官网地址为https://start.spring.io/,打开如图10-4所示页面。

image.png

在页面中将这些信息填写完成后,单击GENERATE按钮生成模块并下载到本地,解压后使用IDEA 打开该项目即可使用。


2●通过 Maven创建

使用Maven创建Spring Boot项目,以IDEA 为开发工具,具体步骤如下。

(1) 创建一个普通Maven项目,如图10-5所示。

77a7e41058688ea50f7bac83fe45e9ec.png

■ 图10-5 构建普通Maven项目


(2) 输入组织名称和模块名称,如图10-6所示。

image.png

(3) 创建完成后,在pom.xml文件中添加如下依赖。

<!--Spring Boot 的父级依赖,只有继承它项目才是 Spring Boot 项目。
    spring-boot-starter-parent 是一个特殊的 starter,它用来提供相关的 Maven 默认依赖。使用它之后,常用的包依赖可以省去 version 标签。-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
<relativePath/><!-- lookup parent from repository -->
</parent>
<dependencies>
<!--Spring Boot提供了非常多的starter启动器。spring-boot-starter-web支持全栈式 Web 开发,包括 Tomcat 和 spring-webmvc。-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>


(4) 添加完成后,在java目录下创建一个名为App的启动类,代码如下:

@EnableAutoConfiguration  //启用Spring的自动加载配置。
@RestController            //相当于Controller +ResponseBody注解
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
    @GetMapping("/hello")
    public String hello(){
        return "hello";
}
}

最后执行main方法就可以启动一个Spring Boot项目了。


3●使用Spring Initializer快速创建

上述创建Spring Boot项目的两种方式都比较烦琐,推荐大家直接使用SpringInitializer的方式快速构建Spring Boot项目。这种方式不但可以生成完整的目录结构,还可以生成一个默认的主程序,从而节省时间。具体步骤如下。


(1) 创建项目时选择Spring Initializer,如图10-7所示。

image.png

■ 图10-7选择Spring Initializer构建Spring Boot项目


(2) 输入项目基本信息,如图10-8所示。

image.png

■ 图10-8 基本信息填写


(3) 接着选择需要添加的依赖,如图10-9所示。

image.png


(4) 选择项目创建的路径,如图10-10所示。

image.png

至此,Spring Boot项目创建完成。


目录
相关文章
|
28天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
41 0
|
7天前
|
安全 Java 应用服务中间件
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
24 0
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
|
9天前
|
XML Java C++
【Spring系列】Sping VS Sping Boot区别与联系
【4月更文挑战第2天】Spring系列第一课:Spring Boot 能力介绍及简单实践
【Spring系列】Sping VS Sping Boot区别与联系
|
2月前
|
XML 监控 druid
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
|
3月前
|
Java
springboot项目打包瘦身
springboot项目打包瘦身
|
5月前
|
Java 测试技术
Springboot集成JUnit5优雅进行单元测试
Springboot集成JUnit5优雅进行单元测试
|
安全 Java Maven
Spring Boot资源文件问题总结(Spring Boot的静态资源访问,配置文件外置)
Spring Boot资源文件问题总结(Spring Boot的静态资源访问,配置文件外置)
1305 1
|
9月前
|
Java Maven
【Springboot】创建boot工程spring-boot-maven-plugin报红、出错_解决方案
【Springboot】创建boot工程spring-boot-maven-plugin报红、出错_解决方案
317 0
|
9月前
|
SQL druid 前端开发
让SpringBoot不需要Controller、Service、DAO、Mapper,卧槽!这款工具绝了!
让SpringBoot不需要Controller、Service、DAO、Mapper,卧槽!这款工具绝了!
|
11月前
|
Java C++ Spring
Spring Boot - ConfigDataEnvironmentPostProcessor(Boot 2.4)搞定配置文件加载优先级
Spring Boot - ConfigDataEnvironmentPostProcessor(Boot 2.4)搞定配置文件加载优先级
236 0