springBoot的使用

Spring Boot

1 Spring Boot 概述

1.1 什么是 Spring Boot

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定

的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简单的来说 Spring Boot 这个项目整合目前很多的流行的第三方框架,

并且做了一系列的默认配置,我们无需在进行手动配置,直接拿过来直接使用! 比如我们要使用 Spring mvc 开发 web 应用,那么我们可能

需要经过以下几步

导入 spring mvc 的相关依赖包

在 web.xml 文件中配置 Spring mvc 的前端控制器

创建一个 spring mvc 的配置文件

在 spring mvc 的配置文件中进行相关配置

  1. 配置注解扫描路径
  2. 配置处理器映射器
  3. 配置处理器适配器
  4. 配置视图解析器

开发 Controller

那么现在如果我们使用 Spring Boot 开发我们的 web 应用,那么具体的步骤如下:

导入相关的依赖包

开发 Controller

单单从开发步骤上讲都比我们的原始开发少了很多,其中的配置部分 Spring Boot 帮我们完成了,不需要我们在进行配置,当然如果我们想

更改 Spring Boot 的默认配置也是可以的.极大的简化了我们的开发.

1.2 Spring Boot 的核心功能

独立运行的 spring 项目: Spring Boot 可以以 jar 包形式直接运行,如 java -jar xxx.jar 优点是:节省服务器资源

内嵌 servlet 容器: Spring Boot 可以选择内嵌 Tomcat,Jetty,这样我们无须以 war 包形式部署项目。

提供 starter 简化 Maven 配置: 在 Spring Boot 项目中为我们提供了很多的 spring-boot-starter-xxx 的项目(我们把这个依赖可以称之为

起步依赖),我们导入指定的这些项目的坐标,就会自动导入和该模块相关的依赖包:

例如我们后期再使用 Spring Boot 进行 web 开发我们就需要导入 spring-boot-starter-web 这个项目的依赖,导入这个依赖以后!那么

Spring Boot 就会自动导入 web 开发所需要的其他的依赖包,如下图所示:

自动配置 spring: Spring Boot 会根据在类路径中的 jar 包,类,为 jar 包里的类自动配置 Bean,这样会极大减少我们要使用的配置。

当然 Spring Boot 只考虑了大部分开发场景,并不是所有的场景,如果在实际的开发中我们需要自动配置 Bean,而 Spring Boot 不

能满足,则可以自定义自动配置。

准生产的应用监控: Spring Boot 提供基于 http,ssh,telnet 对运行时的项目进行监控

无代码生成和 xml 配置: Spring Boot 大量使用 spring4.x 提供的注解新特性来实现无代码生成和 xml 配置。spring4.x 提倡使用 Java

配置和注解配置组合,而 Spring Boot 不需要任何 xml 配置即可实现 spring 的所有配置。

1.3 Spring Boot 的优点和缺点

1.3.1 优点

快速构建项目

对主流框架无缝集成

项目可以独立运行,无需依赖外部 servlet 容器

提供运行时的应用监控

极大提高了开发,部署效率

1.3.2 缺点

资料相对比较少

版本迭代较快

 

2 Spring Boot 入门案例

使用 Spring Boot 开发 web 应用.

2.1 在 pom.xml 添加依赖

在 pom.xml 文件我们需要添加两部分的依赖:

让我们的项目继承 spring-boot-starter-parent 的工程

加入 spring-boot-starter-web 的依赖

<!– 添加父工程 –>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.5.9.RELEASE</version>

</parent>

<dependencies>

<!– 加入web开发的支持 –>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

</dependencies>

Spring Boot 项目默认的编译版本是 1.6,如果我们想使用 1.7 的编译版本我们就需要在 pom.xml 文件中定义一个变量

<!– 定义变量 –>

<properties>

<java.version>1.7</java.version>

</properties>

2.2 开发 Controller

package cn.itcast.spring.boot.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

@Controller

public class HelloSpringBootController {

@RequestMapping(value = “/hello”)

@ResponseBody

public String hello() {

return “Hello Spring Boot” ;

}

}

2.3 开发启动类

package cn.itcast.spring.boot.controller;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class HelloSpringBootApplication {

public static void main(String[] args) {

// 启动Spring Boot应用

SpringApplication.run(HelloSpringBootApplication.class, args) ;

}

}

 

2.4 启动应用

2.4.1 直接运行 main 方法进行启动

2.4.2 以 jar 包的方式运行

以 jar 包的方式运行我们需要导入一个 maven 的插件,然后在进行打包

<build>

<plugins>

<!– Spring Bootmaven插件 –>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

通过入门案例的学习我们发现使用 Spring Boot 开发我们的 Spring 应用是非常简单的.那么同时很多同学可能存在一些疑问: 无 xml 的配

置怎么实现的呢?自动化配置怎么实现的呢?

3 Spring Boot 核心

3.1 无 xml 配置的实现

自从 spring3.0 以后 spring 提供了很多的注解来替代 xml 文件的配置.最为核心的是下面的两个注解:

@Configuration 标注该类是一个配置类.类似于我们定义的 applicationContext.xml

@Bean 类似于我们在之前的 spring 配置文件中配置的<bean id=”” class=””/>

有了上面的两个注解我们就可以使用编码的方式来完成 spring 的相关配置,接下来我们就来使用 java 编码的方式来完成 spring 的配置

3.1.1 入门 Demo

3.1.1.1 导入相关依赖

<properties>

<spring.version>4.3.7.RELEASE</spring.version>

</properties>

<dependencies>

<!– Spring依赖包 –>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-beans</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context-support</artifactId>

<version>${spring.version}</version>

</dependency>

</dependencies>

发表评论

电子邮件地址不会被公开。 必填项已用*标注