为什么80%的码农都做不了架构师?>>>   

SpringBoot 2.0 系列001 -- 入门介绍以及相关概念

什么是SpringBoot?

项目地址:http://projects.spring.io/spring-boot/

SpringBoot介绍

Spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run"。 我们为Spring平台及第三方库提 供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用需要很少的Spring配置。

SpringBoot功能

1:创建独立的spring应用。2:嵌入Tomcat, Jetty Undertow 而且不需要部署他们。3:提供的“starters”poms来简化Maven配置4:尽可能自动配置spring应用。5:提供生产指标,健壮检查和外部化配置6:绝对没有代码生成和XML配置要求

利用Maven构建SpringBoot项目

利用Parent方式

我们可以通过继承spring-boot-starter-parent来使用SpringBoot。

  • 默认java编译级别是1.8
  • 编码默认是UTF-8
  • 具体依赖是spring-boot-dependencies.

其中涵盖各类jar版本号,编码等属性配置,依赖配置,开发信息,协议,插件等管理信息。

<!-- Inherit defaults from Spring Boot -->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.1.RELEASE</version>
</parent>

不使用Parent方式

如果说我们有自己的parent项目 我们应该怎么使用SpringBoot呢?

<dependencyManagement><dependencies><dependency><!-- Import dependency management from Spring Boot --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.0.1.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
  • 如果你想更改其中某个依赖的版本,可以在spring-boot-dependencies之前复写这个依赖
<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><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.0.1.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

使用SpringBoot Maven plugin

SB包含了一个maven插件,可以帮你打包成一个可执行的jar文件,使用方式如下

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

其他方式

除了maven以外还支持ant和Gradle具体参阅 官方文档

Staters

Staters是一组便捷的依赖描述,比如你想使用jpa功能,只需要引入spring-boot-starter-data-jpa 即可。其他组件基本一样,如spring-boot-starter-* 这种形式。

  • 下列是SB支持的Application staters 

  • production staters 

  • technical starters 

第一个SpringBoot

具体参阅官方文档

  • 1、新建maven项目chapter01,结构如下

  • 2、导入SpringBoot配置
<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>chapter01</groupId><artifactId>chapter01</artifactId><packaging>jar</packaging><name>chapter01 Maven Webapp</name><url>http://www.example.com</url><!-- 引入parent依赖--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.1.RELEASE</version></parent><!--添加额外依赖 --><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><!-- 打包 --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
  • 3、配置启动类如下
package com.ricky;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;//开启SpringBoot自动注入配置  等价于原来的SpringBootApplication
@EnableAutoConfiguration
//开启RestController注解  含有ResponseBody 即非页面形式
@RestController
public class SpringBootApplication {@GetMapping("/")public String home() {return "Hello World!";}/*** 开启SpringBoot服务* @param args*/public static void main(String[] args) {//等价于 new SpringApplication(SpringBootApplication.class).run(args);SpringApplication.run(SpringBootApplication.class,args);}
}

SpringBoot2.0注意事项

  • 容器相关

    • tomcat>=5.5
    • jetty>=9.4
    • Undertow >=1.4
    • servletversion>=3.1
  • jdk

java8或者9

  • Spring框架

5.0.5.RELEASE或者更高

最后

  • 作者ricky
  • 交流群:244930845

转载于:https://my.oschina.net/lt0314/blog/1810336

SpringBoot 2.0 系列001 -- 入门介绍以及相关概念相关推荐

  1. SpringBoot 2.0 系列003 -- 自定义Parent

    为什么80%的码农都做不了架构师?>>>    SpringBoot 2.0 系列003 --自定义Parent 默认我们使用SpringBoot的方式是通过SB的parent项目的 ...

  2. SpringBoot 2.0 系列005 --启动实战之SpringApplication应用

    为什么80%的码农都做不了架构师?>>>    SpringBoot 2.0 系列005 --启动实战之SpringApplication应用 2.X 官方示例 注意是只使用了@En ...

  3. .NET 4 并行(多核)编程系列之一入门介绍

    .NET 4 并行(多核)编程系列之一入门介绍 本系列文章将会对.NET 4中的并行编程技术(也称之为多核编程技术)以及应用作全面的介绍. 本篇文章的议题如下:   1. 并行编程和多线程编程的区别. ...

  4. Godot引擎 4.0 文档 - 入门介绍 - Godot 关键概念概述¶

    本文为Google Translate英译中结果,DrGraph在此基础上加了一些校正.英文原版页面:Overview of Godot's key concepts - Godot Engine ( ...

  5. 锐捷云课堂服务器装什么系统,锐捷云课堂2.0系列产品详细介绍

    [IT168 案例]云课堂是包括RCD云课堂主机.Rain100.Rain100S. Rain200. Rain200S 多种云课堂终端,RG-ClassManager Rainbow多媒体教学管理软 ...

  6. SpringBoot2.0系列--06--定时任务Scheduled及具体例子

    SpringBoot2.0系列–06–定时任务Scheduled及具体例子 文章目录 SpringBoot2.0系列--06--定时任务Scheduled及具体例子 前言 介绍 总流程 时间循环参数 ...

  7. SpringBoot2.0系列(1)----初识SpringBoot

    [SpringBoot2.0系列01]初识SpringBoot 一.介绍 想必大家都一定用过spring框架,每次整合spring框架的时候总是会有无穷无尽的xml配置文件,第一次写配置文件的时候,大 ...

  8. 数据科学系列:plotly可视化入门介绍

    导读 在入道数据岗位之初,曾系列写过多个数据科学工具包的入门教程,包括Numpy.Pandas.Matplotlib.Seaborn.Sklearn等,这些也构成了自己当初的核心工具栈.在这5个工具包 ...

  9. WPF入门教程系列三——Application介绍(续)

    接上文WPF入门教程系列二--Application介绍,我们继续来学习Application 三.WPF应用程序的关闭 WPF应用程序的关闭只有在应用程序的 Shutdown 方法被调用时,应用程序 ...

最新文章

  1. 穿越传统藩篱,当统计学闯入人工智能“后花园”
  2. js中对于数据类型的一些理解
  3. 前端面试每日 3+1(每日三问)
  4. C++STL Vector
  5. 对linux的mv命令设计测试用例,测试用例中的细节 - 八音弦的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. vim 设置支持鼠标
  7. C++ STL string与算法
  8. Extjs 常见问题:如何提交combobox的值
  9. Xcode6中Swift没有智能提示和自动补全功能
  10. java基础编程题书籍
  11. Kindle基础使用指南
  12. 两个一一对应的txt文本去重
  13. [AngularJS面面观] 16. 依赖注入 --- 注入器中如何管理对象
  14. 百家讲坛 黄帝内经(第一部)
  15. 房价收入比最高20倍 相关专家认为楼市泡沫已现
  16. openssl编程-DH
  17. c++、python实现置换密码(栅栏技术,列置换)、替代密码(加法密码(Caesar密码),乘法密码)
  18. 面试问题总结——关于OpenCV
  19. protege5.0基础教程
  20. IDEA2018中直接查看和进入接口实现类的快捷键

热门文章

  1. c/c++基础 输入函数/流
  2. Java 线程池submit和execute
  3. Android与JS混编(js调用android相机扫描二维码)
  4. cdoj 题目简单分类
  5. Too many levels of symbolic links
  6. 地理信息系统控件GIS控件TatukGIS Developer Kernel 下载及介绍
  7. ios小项目——新浪微博客户端总结
  8. “网络实名制”的背后
  9. U盘也玩NTFS权限。
  10. 字符串留用与字符串池