原 SpringBoot 2.0 系列00

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或者更高

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序猿DD

Why Spring Boot

本文介绍将各种Spring的配置方式,帮助您了解配置Spring应用的复杂性。 Spring是一个非常受欢迎的Java框架,它用于构建web和企业应用。不像许多...

4107
来自专栏强仔仔

SpringBoot中实现依赖注入功能

今天给大家介绍一下SpringBoot中是如何实现依赖注入的功能。 在以往Spring使用中,依赖注入一般都是通过在Spring的配置文件中添加bean方法实现...

2005
来自专栏学习力

《Java从入门到放弃》框架入门篇:springMVC数据传递 (二)

1704
来自专栏Spring相关

springBoot上传文件时MultipartFile报空问题解决方法

之前用spring MVC,转成spring boot之后发现上传不能用。网上参考说是spring boot已经有CommonsMultipartResolve...

921
来自专栏一个会写诗的程序员的博客

《Spring Boot极简教程》第8_章: Spring Boot集成Groovy混合Java开发第8_章: Spring Boot集成Groovy混合Java开发小结

本章我们使用SpringBoot集成Groovy混合Java开发一个极简的RestAPI。 数据库使用mysql,ORM层使用mybatis,模板引擎使用fre...

652
来自专栏菩提树下的杨过

Spring Security笔记:自定义登录页

以下内容参考了 http://www.mkyong.com/spring-security/spring-security-form-login-example...

2107
来自专栏JavaQ

深入Spring Boot (六):使用SpringMVC框架创建Web应用

《深入Spring Boot (一):快速入门》中示例代码使用SpringMVC编写了一个简单的Web应用,本篇将继续使用SpringMVC框架编写复杂的Web...

2968
来自专栏老码农专栏

使用 maven 生成一个支持端到端自动测试的 RESTful 服务项目脚手架

1944
来自专栏运维技术迷

CentOS安装Redis、PHPredis扩展

安装Redis [root@qzdev9 conf]# yum -y install redis #安装redis [root@qzdev9 conf]# sy...

3828
来自专栏JMCui

SpringBoot 之Thymeleaf模板.

    Thymeleaf 的出现是为了取代 JSP,虽然 JSP 存在了很长时间,并在 Java Web 开发中无处不在,但是它也存在一些缺陷:

1461

扫码关注云+社区