zoukankan      html  css  js  c++  java
  • 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的自动装配,想学习的亲们可以关注博主哦。

  • 相关阅读:
    leetcode--Populating Next Right Pointers in Each Node II
    leetcode—Populating Next Right Pointers in Each Node
    Pascal's Triangle II
    leetcode—pascal triangle
    leetcode—triangle
    October 23rd, 2017 Week 43rd Monday
    October 22nd, 2017 Week 43rd Sunday
    October 21st 2017 Week 42nd Saturday
    October 20th 2017 Week 42nd Friday
    October 19th 2017 Week 42nd Thursday
  • 原文地址:https://www.cnblogs.com/yanfeiLiu/p/9303926.html
Copyright © 2011-2022 走看看