1 简介
Spring Boot是目前很红火的开发工具了,它是用来简化Spring应用开发,约定大于配置,去繁从简,能够创建一个独立的、产品级别的应用。
2 产生背景
说到Spring Boot不得不说到微服务,微服务其实是一种架构风格,他是一组小型服务,这些小型服务通过http的形式进行访问,每一个小型服务相当于各个功能,相当于把一个项目拆分为一个一个的模块进行独立开发。
微服务文档
以前我们进行web开发,可以借助ssh、ssm等框架,用过的人都知道,前期需要花费大量时间进行配置,底下的开发效率、复杂的部署流程,如果使用第三方技术集成难度大,是一种All in one的形式,牵一发而动全身,日益增长的需求成为隐患。
3 解决方案
Spring Boot提供了一站式的解决方案
Spring Cloud提供了分布式的解决方案
4 优缺点
优点:
1. 快速创建独立的Spring项目以及与主流框架集成
2. 使用嵌入式的Servlet容器,应用无需打成warbao,直接可以打成jar包使用java -jar 打成的jar包
提交
3. starters自动依赖于版本控制
4. 大量的自动配置,简化开发,也可以修改默认配置
5. 无需配置xml文件,只需配置一个application.yml即可(默认是application.properties),OOTB
6. 准生产环境的运行时应用监控
7. 与云计算的天然集成
缺点:入门简单,深入难。
5 Hello World
5.1环境
–jdk1.8:Spring Boot 推荐jdk1.7及以上;java version "1.8.0_112"
–maven3.x:maven 3.3以上版本;Apache Maven 3.3.9
–IntelliJIDEA2017:IntelliJ IDEA 2017.2.2 x64、STS
–SpringBoot 2.0.3.RELEASE;
5.2功能实现
浏览器发送hello,服务器接受请求并处理,响应Hello World字符串;
1、创建一个maven工程;(jar)
2、导入spring boot相关的依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3、编写一个主程序;启动Spring Boot应用
/**
* @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
*/
@SpringBootApplication
public class HelloWorldMainApplication {
public static void main(String[] args) {
// Spring应用启动起来
SpringApplication.run(HelloWorldMainApplication.class,args);
}
}
4、编写相关的Controller、Service
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "Hello World!";
}
}
5、运行主程序测试
打开浏览器:localhost:8080/hello
6、简化部署
<!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
将这个应用打成jar包,直接使用java -jar的命令进行执行;再命令窗口:java -jar 打成的jar包