文档章节

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

路上有你0314
 路上有你0314
发布于 05/10 17:25
字数 807
阅读 237
收藏 20

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

© 著作权归作者所有

共有 人打赏支持
路上有你0314
粉丝 50
博文 23
码字总数 45128
作品 0
郑州
程序员
SpringBoot 2.0 系列006 --启动实战之注解使用

SpringBoot 2.0 系列006 --启动实战之注解使用 一些误区说明 网上很多教程默认使用SpringBootApplcation注解,且只用这个即可扫描启动类包下所有的bean。 而官方默认教程使用的是@EnableAuto...

路上有你0314
05/18
0
0
SpringBoot 2.0 系列005 --启动实战之SpringApplication应用

SpringBoot 2.0 系列005 --启动实战之SpringApplication应用 2.X 官方示例 注意是只使用了@EnableAutoConfiguration,默认是只扫描这一个我们自定义的类到bean中。不含子包和本包。下一篇我们...

路上有你0314
05/17
0
0
学习 Spring Boot 知识看这一篇就够了

从2016年因为工作原因开始研究 Spring Boot ,先后写了很多关于 Spring Boot 的文章,发表在技术社区、我的博客和我的公号内。粗略的统计了一下总共的文章加起来大概有六十多篇了,其中一部分...

ityouknow
05/28
0
0
第四十九章:SpringBoot2.0新特性 - 你get到WebMvcConfigurer两种配置方式了吗?

初升级版本,在已经使用的系统内还是存在一些兼容性的问题,有很多变化!!!也存在一些过时的方法、配置文件信息以及类,我们在之前版本的中可以使用抽象类来处理相关的配置,由于版本最低支...

恒宇少年
03/17
0
0
第一章:Maven环境下如何配置QueryDSL环境

QueryDSL是一个通用的查询框架,框架的核心原则是创建安全类型的查询,开始QueryDSL仅支持Hibernate(HQL),在不断开源人士加入QueryDSL团队后,陆续发布了针对JPA,JDO,JDBC,Lucene,Hib...

恒宇少年
2017/07/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
45分钟前
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
4
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
3
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
2
0
mixin混入

①新建mixin.js文件 const mixin = { methods: { /** * 分页公共方法 */ handleSizeChange(val) { this.pageData.size = val; this.query(); }, hand......

不负好时光
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部