Spring Boot 简介
1. 什么是SpringBoot
1.1 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
2. SpringBoot的优点
2.1 去除了大量的xml配置文件
2.2 简化复杂的依赖管理
2.3 配合各种starter使用,基本上可以做到自动化配置
2.4 快速启动容器
创建独立Spring应用程序,嵌入式Tomcat,Jetty容器,无需部署WAR包,简化Maven及Gradle配置(spring boot项目的入口是一个main方法,运行该方法即可)(如需打包,可直接打成 jar 包,java -jar ***.jar 即可运行)
- 下面的应用程序启动器是由Spring Boot在org.spring框架下提供的
Spring Boot 搭建
我们都知道,在一般的项目中是需要引入很多包和很多配置文件的,最坑的是在以前的项目中可不是仅仅引入包就可以的,还要避免版本冲突等问题,总体来说还是比较头疼的。那么在SpringBoot中就不需要再担心包版本或者缺包的问题了,只需一段配置 SpringBoot就会帮我们全部搞定。我们来看一下,只引入了一个核心依赖与web支持 SpringBoot 会帮我们导入哪些包吧!(以下就是本demo引入的所有依赖了)
- pom.xml配置
复制代码
org.springframework.boot
spring-boot-starter-parent
2.0.2.RELEASE
org.springframework.boot
spring-boot-starter-web
1.5.9.RELEASE
复制代码
2. 程序启动入口(直接运行main方法即可)
复制代码
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
复制代码
为了方便测试,我们在这里添加一个Controller、Entity
复制代码
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.firstboot.lpx.entity.Person;
@RestController
public class MyController {
@RequestMapping(value="/getPerson/{age}", method=RequestMethod.GET, produces=MediaType.APPLICATION_JSON_VALUE)
public Person getPerson(@PathVariable int age){
Person p = new Person();
p.setName("小李");
p.setAge(age);
return p;
}
}
复制代码
复制代码
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
复制代码
3. 启动SpringBoot程序 并 访问getPerson接口
![](http://i2.51cto.com/images/blog/201809/18/d13678f270910667bfc0915965465454.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
原文地址:http://blog.51cto.com/13954634/2176767