SpringBoot 简介
Spring Boot来简化Spring应用开发
整合Spring技术栈的一个大集合
J2EE开发的一站式解决方案
优点:
- 快速创建独立运行的Spring项目以及与主流框架集成
- 使用嵌入式的Servlet容器,应用无需打成WAR包
- starters自动依赖与版本控制 – 大量的自动配置,简化开发,也可修改默认值 –
- 无需配置XML,无代码生成,开箱即用 –
- 准生产环境的运行时应用监控
- 与云计算的天然集成
微服务
微服务:架构风格(服务微化)
一个应用应该是一组小型服务;可以通过http的方式互通。
单体应用(all in one)
微服务(每一个功能元素,最终都可以是一个可独立替换和独立升级的软件单元)
环境信息
jdk1.8(SpringBoot推荐jdk1.7以上)
maven3.3
IntelliJIDEA2017
–SpringBoot 1.5.9.RELEASE
Spring Boot HelloWorld
浏览器发送hello请求,服务器接受请求并处理,响应Hello World字符串;
1.创建一个maven工程
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.my</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <!-- 一定要有spring-boot-starter-parent,其中包含了spring的各种插件版本号 --> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.8.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <!-- 父类统一管理版本信息 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <!-- 导入spring boot的web支持,可以不写版本号,在spring-boot-starter-parent已经包含 --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <!-- 这个插件,可以将应用打包成一个可执行jar包 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
2.导入SpringBoot相关依赖
<!-- 导入SpringBoot 相关依赖 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
3.编写一个主程序:启动SpringBoot
/** * @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用 * Spring Boot项目的核心注解,主要目的是开启自动配置。 * 包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。 * 其中@ComponentScan默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。 */ @SpringBootApplication public class DemoApplication { public static void main(String[] args) { //Spring 应用启动 SpringApplication.run(DemoApplication.class, args); } }
4.编写相关Controller
@Controller public class HelloController { @ResponseBody @RequestMapping("/hello") public String hello(){ return "Hello Spring boot"; } }
5.运行主程序测试
简化部署
<build> <plugins> <!-- 这个插件,可以将应用打包成一个可执行jar包 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
在pom文件中引入插件后,我们可以通过maven命令将项目打包
然后通过java -jar 的方式启动SpringBoot项目
即使电脑或服务器中没有安装tomcat也是可以启动的,因为在打的jar中已经自带了嵌入式的tomcat文件