什么是Spring Boot
Spring Boot 的设计目的是用来简化Spring应用的初始搭建以及开发过程的。目的是为平台带来另一种开发体验,从而简化对这些已有技术的使用。Spring Boot充分利用了JavaConfig的配置模式以及约定优于配置的理念,能够极大的简化基于Spring MVC的web应用和rest服务开发。
Spring Boot的优势
Spring Boot 使编码变得简单;
Spring Boot 使配置变得简单;
Spring Boot 使部署变得简单;
Spring Boot 使监控变得简单;
Java Config 自动配置
Spring Boot 推荐采用基于 Java Config 的配置方式,而不是传统的 XML。例如@Controller、@Bean、@EnableAutoConfiguration、@CompomentScan、@PropertySource、@Repository、@Service、@RestController等。
快速搭建Spring Boot
首先创建一个pom文件
<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<moderVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1..3.3.RELEASE</version>
</parent>
<groupId>com.test.springtest</groupId> <!--创建时自己填写的-->
<artifactId>springboot-action</artifactId>
<version>0.1</version>
<packaging>war</packaging>
<name>springboot-action</name>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<denpendency>
</denpendencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</build>
</project>
创建Java代码
@SpringBootApplication
public class ApplicationDemo{
public static void main(String[] args) throws Exception{
System.out.println(" hello word ");
SpringApplication.run(ApplicationDemo.class,args);
}
}
快速搭建web工程
在pom文件中添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
创建java代码
@RestController
@EnableAutoConfiguration
public class WebDemo{
@RequestMapping("/");
String home(){
return "hello word";
}
public static void main(String[] agrs) throws Exception{
SpringApplication.run(WebDemo.class,args);
}
}
上述java代码中,主方法中启动了一个SpringApplication,启动方法是run方法,SpringApplication用来从java main方法启动一个Spring应用,默认的启动步骤如下:
1)创建一个合适的ApplicationContext实例,这个实例取决于classpath
2)注册一个CommandLinePropertySource,以Spring属性的形式来暴露命令行参数
3)刷新ApplicationContext,加载所有的单例bean
4)触发所有的命令行CommandLineRunner来执行bean。