什么是spring boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。
使用spring boot有什么好处
其实就是简单、快速、方便!平时如果我们要搭建一个spring web项目的时候需要怎么做呢?
1. 配置web.xml,加载spring和spring mvc
2. 配置数据库连接,配置spring事务
3. 配置加载配置文件的读取,开启注解
4. 配置静态资源文件,日志文件…
5. 配置完成之后部署tomcat调试
但是如果使用spring boot呢?
很简单,我们仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目或者是一个微服务!
快速入门
pom.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<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>springboot</groupId>
<artifactId>springboot-helloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-helloworld :: HelloWorld Demo</name>
<!-- Spring Boot 启动父依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<dependencies>
<!-- Spring Boot web依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
</project>
只需要加入一个spring-boot启动父依赖即可
controller层
package org.spring.springboot.web;
import java.util.Collections;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Spring Boot HelloWorld 案例
*
* @author colg
*/
@RestController
public class HelloWorldController {
@RequestMapping("/")
public Map<String, Object> sayHello() {
return Collections.singletonMap("Hello, World!", "Spring Boot");
}
}
@RestController
和@RequestMapping
注解是来自SpringMVC的注解,它们不是SpringBoot的特定部分。
1. @RestController
:@Controller
和@ResponseBody
的组合注解,提供了REST API,可以服务JSON,XML或者其他。这里是以JSON的形式渲染出结果。
2. @RequestMapping
:提供路由信息,”/”路径的HTTP Request都会被映射到sayHello方法进行处理。
启动应用层
package org.spring.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Spring Boot 应用启动类
*
* @author colg
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
// 程序启动入口
// 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件
SpringApplication.run(Application.class, args);
}
}
@SpringBootApplication
:是一个组合注解,包括@EnableAutoConfiguration
及其他多个注解- Application很简单,一个main函数作为主入口。SpringApplication引导应用,并将Application本身作为参数传递给run方法。具体run方法会启动嵌入式的tomcatbing 初始化Spring环境以及各种Spring组件。
运行
小结
- spring boot pom配置
- spring boot 启动以及原理