前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring boot框架快速入门

Spring boot框架快速入门

作者头像
Steve Wang
发布2020-10-26 14:37:18
3790
发布2020-10-26 14:37:18
举报
文章被收录于专栏:从流域到海域从流域到海域

Spring Boot是又Pivotal 团队提供的全新框架,其设计的目的是用来简化新Spring的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使得开发人员不在需要定义模板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域成为领导者 - 《百度百科:Spring Boot》

在这里插入图片描述
在这里插入图片描述

Spring Boot是所有基于Spring Framework 5.0开发的项目的起点。Spring Boot的设计是为了让你尽可能快的跑起来Spring应用程序并且尽可能减少你的配置文件。

Spring Boot的设计目的很直观,就是为了简化新的Spring应用的初始搭建以及开发过程。

从最根本上来说,Spring Boot并不是新的框架,而是提供了默认配置的很多框架的集合。它能够在构建任意项目的时候使用,并且基本不需要进行配置。Spring Boot遵循使用优于配置的理念来使得你的项目能够快速运行起来,而不必花大量时间在代码生成和XML强制配置上。

Spring构建的项目存在大量的配置,但这里配置都包含一个默认的习惯性配置。如果你修改了Spring Boot的全局配置文件,你相当于是在修改默认配置的配置值。

Spring Boot 特点

(1) 为所有Spring开发提供一个更快更广泛的入门体验。 (2) 零配置。无冗余代码生成和XML强制配置,遵循约定大于配置。 (3) 集成了大量常用的第三方库及其配置。Spring Boot为这三第三方库提供了不需要配置的开箱即用的能力。 (4) 提供一系列大型项目常用的非功能特性,如嵌入式服务器安全性度量运行状况检查外部化配置等。 (5) Spring Boot不是Spring的替代者,Spring框架是通过IOC机制来管理Bean的。Spring Boot依赖Spring框架来管理对象依赖。Spring Boot并不是Spring的精简版,而是做好了各种产品级应用准备的Spring。

Spring Boot 所具备的特征

(1) 可以创建独立的Spring程序,并且基于Maven或Gradle插件,可以创建可执行的JARs和WARs。 (2) 内嵌Tomcat或者Jetty等Servlet等容器。 (3) 提供自动配置的starter项目对象模型(POMS)以简化Maven配置。 (4) 尽可能自动配置Spring容器。 (5) 提供准备好的特性,如指标健康检查外部化配置。 (6) 绝对没有代码生成,不需要XML配置。

Spring Boot在应用中的角色

基于Spring Framework,用于构建Spring Cloud。

Spring Boot是基于Spring Framework来构建的,Spring Framework是一种J2EE框架。

Spring Boot可以快速构建Spring 应用。 Spring Cloud是构建好的Spring Boot分布式环境,即云应用。 Spring是两者的中流砥柱,起到了承上启下的作用。

在这里插入图片描述
在这里插入图片描述
环境准备
  • JDK 1.8及以上
  • Maven管理工具
  • IDE

Mave英文译为"专家",是Apache下的一个纯Java开发的开源项目。基于项目对象模型(POM)的概念,它利用一个中央信息片段来管理一个项目的构建、报告和文档等步骤。

Maven是一个项目管理工具,可以对Java项目进行构建、依赖管理。

Spring Boot项目文件

pom.xml

默认的pom.xml长这样:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.xpwi</groupId>
    <artifactId>springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springboot</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

其中<parent>标签比较陌生,它配置的是Spring Boot的父依赖,有了<parent>标签,当前项目才是Spring Boot项目。spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖。在加上它之后,常用的包依赖就可以省略掉version标签。

Spring Boot所提供的jar包依赖可以在本地Maven仓库下的repisitory\org\springframework\boot\spring-boot-dependencies\2.1.0RELEASE\spring-boot-dependencies-2.1.0.RELEASE.pom文件中查看。

应用入口类SpringBootApplication.java

Spring Boot项目通常会有一个名为SpringBootApplication的入口类,它有一个main方法,该方法即为标准的java应用的入口方法。

@SpringBootApplication是Spring的核心注解,它是一个有三个注解组成的组合式注解。这三个注解包括:

  • @Configuration
  • @EnableAutoConfiguration
  • @ComponentScan

三者的作用如下:

  • @Configuration同Spring,用来定义配置类,可替换XML配置。
  • @EnableAutoConfiguration让Spring Boot根据类路径中的jar包依赖为当前项目进行自动配置。
  • @ComponentScan同Spring,从定义的扫描路径中找出标示了需要装配的类自动装配到bean容器中。

SpringBoot还会自动扫描@SpringBootApplication所在类的同级包以及下级包里的bean。因此入口类建议配置在groupID+artifactID组合的包名下。

Spring配置文件

SpringBoot支持properties文件和yaml语言两种配置文件。SpringBoot使用两者之一作为全局配置文件。

yaml是以数据为中心的语言,在配置数据的时候具有面向对象的特征。

重复一点,Spring Boot全局配置文件的作用是对一些默认配置的配置值进行修改。

参考

Spring Boot -01- 快速入门篇(图文教程)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Spring Boot 特点
  • Spring Boot 所具备的特征
  • Spring Boot在应用中的角色
  • 环境准备
  • Spring Boot项目文件
    • pom.xml
      • 应用入口类SpringBootApplication.java
      • Spring配置文件
      • 参考
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档