简介
SpringBoot是一个快速开发框架,快速的将一些常用的第三方依赖整合(原理:通过Maven子父工程的方式),简化XML配置,全部采用注解形式,内置HTTP服务器(Jetty和Tomcat),最终以Java应用程序进行执行。
SpringBoot主要目标是:为所有Spring的开发者提供一个非常快速的、广泛接受的入门体验。
只需导入启动器,就会自动导入相关依赖,开发人员无需考虑需要导入哪个依赖和版本冲突,不需要编写xml文件,不需要配置服务器,减少开发工作。
(一)入门
1.创建项目
Springboot的项目必须使用maven项目,创建java项目即可
2.添加依赖
Springboot项目必须继承父项目spring-boot-starter-parent。 该parent包含了大量默认的配置,大大简化了我们的开发。
添加web启动器,让项目具有web项目响应的功能。例如:处理请求和响应、启动内置的服务器(tomcat)等
注: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. 添加依赖
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......")