SpringBoot学习(一)基础篇

目录

    关于Springboot

    Springboot优势

    快速入门

关于SpringBoot

  Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

  SpringBoot可以基于Spring轻松创建可以“运行”的、独立的、生产级的应用程序。大多数Spring Boot应用程序需要很少的Spring配置。您可以使用Spring Boot创建可以使用java -jar或传统 war 包部署启动的Java应用程序。

SpringBoot优势

特点:

    1. 创建独立的Spring应用程序
    2. 嵌入的Tomcat,无需部署WAR文件
    3. 简化Maven、Gradle配置
    4. 自动配置Spring
    5. 提供生产就绪型功能,如指标,健康检查和外部配置
    6. 绝对没有代码生成并且对XML也没有配置要求

目标:

    1.为所有的Spring开发者提供一个更快,更广泛接受的入门体验。
    2.开始使用开箱即用的配置(极少配置甚至不用配置),所有配置都有默认值,同时也可以根据自己的需求进行配置。
    3.提供大量项目中常见的一系列非功能特征(例如嵌入式服务器,安全性,指标,运行状况检查,外部化配置)。
    4.绝对没有代码生成,也不需要XML配置。(摘自:SpringBoot学习之基础篇

  总之就一句话,启动更方便,配置量更少

  系统要求:虽然您可以在Java 6或7上使用 Spring Boot,但是建议用Java 8。

 

快速入门

创建项目

先看一下图

可以看出目前构建项目有多种方式我这里简单介绍两种。
1、使用spring官网 SPRING INITIALIZR 来构建项目结构(地址:http://start.spring.io/
2、使用IntelliJ IDEA开发工具来构建项目结构

下面详解一下

官网下载:

  主要部分包括:

    管理工具:Gradle和Maven(我这里选择的gradle)

    Springboot版本:默认最新版本

    包名(Group):具体情况自行填

    工程名(Artifact):具体情况自行填

    选择模块:根据需要选择(我已经选择了一个web模块)

选择完成后点击Generate Project进行下载

IDEA构建:

图一选择Next后出现这个目录,主要目录和上述一样

模板选择在下一步(还是根据自己情况来进行选择)

选择完成后Finish完成 打开项目 选择Gradle目录(我建的Gradle项目)

Ok完成后 来看一下项目结构

添加依赖

Maven:

<dependencyManagement>
    <dependencies>
        <!-- Override Spring Data release train provided by Spring Boot -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-releasetrain</artifactId>
            <version>Fowler-SR2</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.8.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
View Code

Gradle:

buildscript {
    ext {
        springBootVersion = '1.5.8.RELEASE'
    }
    repositories {
        maven { url = "http://maven.aliyun.com/nexus/content/groups/public" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

group = 'com.bdqn.lyrk.study'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
    maven { url = "http://maven.aliyun.com/nexus/content/groups/public" }
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}
View Code

注意在spring-boot里有一个叫做启动器的概念,命名是以spring-boot-starter-xxx打头 这个命名结构旨在帮助你快速找到一个启动器。上述配置中会有一个嵌入式servlet容器,这样在程序启动时可以自动运行servlet容器

简单示例

因为零配置 这里我什么也没有添加 创建一个Controller直接访问运行。

先来看一下启动类

这里的@SpringBootApplication则是一个组合注解,我们可以看看它的源码:

它相当于使用@Configuration,@EnableAutoConfiguration和@ComponentScan和他们的默认属性,熟悉Spring框架的朋友对第一个和第三个注解应该不陌生,@EnableAutoConfiguration这个注解通常放置在主类上,它隐式定义了某些项目的基本“搜索包”(自动装配 后续文章介绍)。

注意:springboot的启动类必须和其他加spring注解的包在同一个目录下

现在写一个controller测试一下

启动成功

  至此基础篇已讲解完毕,后续会带来Springboot启动原理详解以及springboot的自动装配,想学习的亲们可以关注博主哦。

原文地址:https://www.cnblogs.com/yanfeiLiu/p/9303926.html