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的自动装配,想学习的亲们可以关注博主哦。

  • 相关阅读:
    软件工程第四次作业-题目2
    oracle数据库本地网络服务名配置常见问题
    2020软件工程第三次作业
    2020软件工程第二次作业
    2020软件工程第一次作业
    20145208 蔡野 《网络攻防》 后门原理与实践
    20145208蔡野 《网络对抗》逆向及BOF基础实践
    密码分析学学习总结
    20145208 《信息安全系统设计基础》课程总结
    20145208 《信息安全系统设计基础》第十四周学习总结
  • 原文地址:https://www.cnblogs.com/yanfeiLiu/p/9303926.html
Copyright © 2011-2022 走看看