简介

SpringBoot是一个快速开发框架,快速的将一些常用的第三方依赖整合(原理:通过Maven子父工程的方式),简化XML配置,全部采用注解形式,内置HTTP服务器(Jetty和Tomcat),最终以Java应用程序进行执行。

SpringBoot主要目标是:为所有Spring的开发者提供一个非常快速的、广泛接受的入门体验。

只需导入启动器,就会自动导入相关依赖,开发人员无需考虑需要导入哪个依赖和版本冲突,不需要编写xml文件,不需要配置服务器,减少开发工作。

(一)入门

1.创建项目

Springboot的项目必须使用maven项目,创建java项目即可

2.添加依赖

Springboot项目必须继承父项目spring-boot-starter-parent。 该parent包含了大量默认的配置,大大简化了我们的开发。

org.springframework.boot

spring-boot-starter-parent

2.2.4.RELEASE

添加web启动器,让项目具有web项目响应的功能。例如:处理请求和响应、启动内置的服务器(tomcat)等

org.springframework.boot

spring-boot-starter-web

注:springboot提供了44种启动器。每种启动器都包含与之对应的功能,其实就是很多jar的集合。在项目中要使用某种或某些功能时,只需要在项目中添加对应的启动器即可。这些启动器中包含大量的自动配置,减少程序中手工配置的工作,从而提高开发效率。关于其他启动器,在后面的课程中会有响应的介绍。

例如加入web启动器,引动加入如下jar

3.编写控制器

可以通过浏览器地址栏直接访问

@Controller

public class HelloController {

@RequestMapping("/hello")

@ResponseBody

public String say(){

return "hello....";

}

}

4.编写启动类

启动类的类名一般叫做 *Application

package demo;

@SpringBootApplication

public class MyApplication {

public static void main(String[] args) {

SpringApplication.run(MyApplication.class);

}

}

注意:启动类必须放在要访问的所有类的当前目录或上级目录,不能放在要访问的类的同级其他目录或子目录中。

5.注解说明

@Controller: 表示这个类作为一个控制器,通过请求可以访问,也可以产生响应

@RequestMapping("/hello"):配置当前控制器的中的当前方法的访问路径

@ResponseBody 处理响应,方法中返回什么内容,这个内容就会被输出到浏览器。

@SpringBootApplication:SpringBoot项目的核心注解,主要目的是开启自动配置。

6.启动和访问项目

在启动时,只需要在添加了@SpringBootApplication注解的类(包含main方法的类)中,使用运行main方法的方式启动即可。会启动内置的tomcat。

二、SpringBoot核心

1.入口类和@SpringBootApplication注解

Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。 @SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解: @SpringBootConfiguration:这是Spring Boot项目的配置注解,这也是一个组合注解: @EnableAutoConfiguration:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项: 如:我们添加了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC @ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。

2.全局配置文件

SpringBoot中存在大量的默认配置,而这些默认配置,都会读取默认属性,同时这些属性可以通过自定义application.properties文件来进行覆盖。这样虽然使用的还是默认配置,但是配置中的值改成了我们自定义的。 application.properties

server.port=9999

1. 多环境配置

因为项目的运行环境,一般情况下我们会准备两套甚至多套环境,而SpringBoot支持这种多环境配置。

默认情况下SpringBoot的核心配置文件名:application.properties。

在这个核心配置文件中我们一般存放项目的共同配置,但是有一些不同的配置分开存放,默认的名字application-xxxx.properties。

创建application-dev.properties配置文件,内容如下:

server.port=8888

编写全局配置文件application.properties:

spring.profiles.active=dev

三、SpringBoot整合

(一)整合Servlet

Spring Boot会根据@ServletComponentScan注解自动扫描@WebServlet加载servlet。

1. 添加依赖

org.springframework.boot

spring-boot-starter-web

2. 编写Servlet

@WebServlet("/StudentServlet")

public class StudentServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

PrintWriter writer = response.getWriter();

writer.println("student......")