• Spring boot框架快速入门


    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长这样:

    <?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仓库下的repisitoryorgspringframeworkootspring-boot-dependencies2.1.0RELEASEspring-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- 快速入门篇(图文教程)

  • 相关阅读:
    pointnet++之classification/train.py
    pointnet++的pytorch实现
    xavier初始化的简单推导
    z+f数据解析
    ubuntu安装dia
    卷积,reLu,池化的意义
    Split
    .net程序调试一:快速定位异常
    Memcached (第一篇)
    System.Web.Caching.Cache类 缓存 各种缓存依赖
  • 原文地址:https://www.cnblogs.com/wanghongze95/p/13842407.html
Copyright © 2020-2023  润新知