目录

    关于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:

  1. <dependencyManagement>
  2. <dependencies>
  3. <!-- Override Spring Data release train provided by Spring Boot -->
  4. <dependency>
  5. <groupId>org.springframework.data</groupId>
  6. <artifactId>spring-data-releasetrain</artifactId>
  7. <version>Fowler-SR2</version>
  8. <scope>import</scope>
  9. <type>pom</type>
  10. </dependency>
  11. <dependency>
  12. <groupId>org.springframework.boot</groupId>
  13. <artifactId>spring-boot-dependencies</artifactId>
  14. <version>1.5.8.RELEASE</version>
  15. <type>pom</type>
  16. <scope>import</scope>
  17. </dependency>
  18. </dependencies>
  19. </dependencyManagement>

Gradle:

  1. buildscript {
  2. ext {
  3. springBootVersion = '1.5.8.RELEASE'
  4. }
  5. repositories {
  6. maven { url = "http://maven.aliyun.com/nexus/content/groups/public" }
  7. }
  8. dependencies {
  9. classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
  10. }
  11. }
  12.  
  13. apply plugin: 'java'
  14. apply plugin: 'eclipse'
  15. apply plugin: 'org.springframework.boot'
  16.  
  17. group = 'com.bdqn.lyrk.study'
  18. version = '0.0.1-SNAPSHOT'
  19. sourceCompatibility = 1.8
  20. targetCompatibility = 1.8
  21. repositories {
  22. maven { url = "http://maven.aliyun.com/nexus/content/groups/public" }
  23. }
  24.  
  25. dependencies {
  26. compile('org.springframework.boot:spring-boot-starter-web')
  27. testCompile('org.springframework.boot:spring-boot-starter-test')
  28. }

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

简单示例

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

先来看一下启动类

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

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

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

现在写一个controller测试一下

启动成功

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

SpringBoot学习(一)基础篇的更多相关文章

  1. SpringBoot学习之基础篇

    在前面的博文中,已经演示过springboot与Mybatis集成的实例,本篇再来探讨一下SpringBoot的基础.  一.关于SpringBoot SpringBoot可以基于Spring轻松创建 ...

  2. 一步步学习javascript基础篇(0):开篇索引

    索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...

  3. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

  4. Python3学习(1)-基础篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 安装(MAC) 直接运行: brew install python3 输入:python3 --v ...

  5. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  6. Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作

    目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...

  7. java学习笔记-基础篇

    Java基础篇 1—12 常识 13 this关键字 14参数传递 16 继承 17 访问权限 28—31异常 1—12 常识 1.文件夹以列表展示,显示扩展名,在地址栏显示全路径 2.javac编译 ...

  8. Java学习路线-基础篇!

    下面以黑马程序员Java学院的学习路线为例,进行一次史无前例的剖析,我会采取连载的形式,细致的讲解零基础的人怎么学习Java.先看下Java在基础阶段的知识点路线图. 内容多吗?不要被吓到了,知识点剖 ...

  9. 一步步学习javascript基础篇(8):细说事件

    终于学到事件了,不知道为何听到“事件”就有一种莫名的兴奋.可能是之前的那些知识点过于枯燥无味吧,说起事件感觉顿时高大上了.今天我们就来好好分析下这个高大上的东西. 可以说,如果没有事件我们的页面就只能 ...

  10. 一步步学习javascript基础篇(5):面向对象设计之对象继承(原型链继承)

    上一篇介绍了对象创建的几种基本方式,今天我们看分析下对象的继承. 一.原型链继承 1.通过设置prototype指向“父类”的实例来实现继承. function Obj1() { this.name1 ...

随机推荐

  1. java工具方法

    仅记录所遇到并使用的工具方法. 1.md5加密 /** * 对传入的字符串数据进行MD5加密 * @param source 字符串数据 * @param code 字符编码 * @return 加密 ...

  2. java架构之路-(mysql底层原理)Mysql之让我们再深撸一次mysql

    让我再深撸一次mysql吧,这次主要以应对面试来说说mysql,大概几个方向,索引结构,查询引擎,索引优化,explain的详解和trace工具的使用. 索引: 我们先来看一下mysql的B+tree ...

  3. (2)安装elastic6.1.3及插件kibana,x-pack,essql,head,bigdesk,cerebro,ik

    5.2kibana安装 5.2.1解压kibana安装包,修改config/kibana.yml中端口,服务器地址,elastic连接地址 -linux-x86_64.tar.gz cd kibana ...

  4. Proxy实现java动态代理

    在java设计模式中代理模式的应用比较广泛, 比如我在编写一写web程序时在filter修改request或response时, 而request中并没有相应的set方法, 这样要做到修改就需要使用一 ...

  5. Android NDK(二) CMake构建工具进行NDK开发

    本文目录 一Androidstudio中需要的插件 二项目配置 ①build.gardle配置 ②CMakeLists.txt ③Android和Cpp的代码 ④so文件生成 ⑤so文件的位置 一.A ...

  6. ActiveMQ学习总结------原生实战操作(下)03

    本篇将继续延续上一篇的内容,作为知识补充篇,为接下来我们学习spring整合ActiveMQ打好基础 本篇主要学习内容: 1.ActiveMQ 队列服务监听 2.ActiveMQ Topic模型 回顾 ...

  7. 【JAVA基础】JAVA基础语法

    1.1 Java语言概述什么是Java语言Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言. Java语言发展历史1995年Su ...

  8. 浅析MVC Pattern

    一.前言 最近做CAD插件相关的工作,用到了一些模式,解决对应场景的问题. 比如插件的运行实例上使用Singleton.实例内部使用了MVC(Strategy and Observer ). 针对CA ...

  9. A Deep Neural Network Approach To Speech Bandwidth Expansion

    题名:一种用于语音带宽扩展的深度神经网络方法 作者:Kehuang Li:Chin-Hui Lee 2015年出来的 摘要 本文提出了一种基于深度神经网络(DNN)的语音带宽扩展(BWE)方法.利用对 ...

  10. Js获取宽高度的归纳集锦总结

    首先,先吓唬一下我们的小白们!在js中的描述宽高的可以细分有22种.属性根据不同的兼容性也分为五种 window.innerWidth //除去菜单栏的窗口宽度,与浏览器相关 window.inner ...