一、入门知识
1.Spring Boot 简介
简化Spring应用开发的一个框架;
整合Spring技术栈的一个大整合;
J2EE开发的一站式解决方案;
官网 https://spring.io/projects
2.微服务
https://martinfowler.com/microservices/ 详细对微服务作出了解释
2014, 通过 martin fowler 的介绍,微服务才开始慢慢火起来。
微服务:架构风格
一个应用应该是一组小型服务:可以通过HTTP来进行通信
单体应用:ALL IN ONE,如下图
微服务,每个功能元素最终都是一个可独立替换的独立升级的软件单元:如下图
3.构建大型的分布式应用
- Spring Cloud 将 Spring Boot 创建的微服务进行网状互联互调
- 分布式之间的流式计算,批处理由 Spring Cloud Data Flow 实现
二、开始前的准备工作
1.环境约束
- JDK1.8 : Spring Boot 要求 1.7+
- maven3.x : 3.3+
- idea2018
- SpringBoot 2.2.2.RELEASE
2.Maven设置
给maven的setting.xml配置文件的profiles标签添加
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
3.IDEA配置maven
百度上很多就不赘述了
三、Spring Boot HelloWorld(手动搭建)
1.功能
浏览器发送hello请求,服务器接受请求并处理,响应Hello World字符串
2.创建一个maven工程(jar)
一直下一步然后finish就行了
3.导入依赖spring boot相关的依赖
官网 https://spring.io/projects/spring-boot
复制pom文件,groupId和artifactId需要自行修改。
4.编写一个主程序,启动SpringBoot应用
/**
* @SpringBootApplication 来标注一个主程序类,说明这是一个springboot应用
*/
@SpringBootApplication
public class HelloWorldMainApplication {
public static void main(String[] args) {
//Spring应用启动
SpringApplication.run(HelloWorldMainApplication.class, args);
}
}
5.编写相关的Controller、Service
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "Hello World!";
}
}
5.运行程序
不同于其他的web程序,需要配置tomcat,spring boot 直接运行主程序就行了。
在部署的时候也只需要利用maven的pakage打包成jar就可以了,相关的tomcat包spring boot项目都包含在内了
四、通过向导快速创建SpringBoot应用
需要联网
选中的这些没用可以删掉
通过向导生成的项目目录如下
- 主程序已经生成好了
- resources文件中目录结构
- static:保存静态资源:js css images 等
- templates:保存所有的模板页面(SpringBoot默认jar包使用嵌入式的Tomcat,默认不支持jsp页面)可以使用模板引擎(freemarker、thymeleaf);
- application.properties:SpringBoot 的配置文件;可以修改一些默认设置,如端口号,server.port=8081