什么是Spring Boot
Spring Boot是一个开发javaweb的框架,Spring Boot基于 Spring 开发,而不是代替Spring来开发,要让其相结合以提高开发效率;Spring Boot能更快捷和简化开发,特点是约定大于配置(核心思想)
优点
- 快速创建独立运行的Spring项目以及与主流框架集成
- 内嵌Servlet容器,应用无需达成war包
- starters自动依赖于版本控制
- 大量自动配置,简化开发,可修改默认值
- 无需配置XML,无代码生成,开箱即用
- 准生产环境的运行时应用监控
- 天然与云计算集成
微服务架构
在正式开始学习前,我们先了解一下以前的单体应用架构(all in one),即项目的所有服务都封装在一个单体中,我们都把数据库访问,web访问等等全都封装到一个war包中了;这样虽然易于开发,测试和维护,但是我们要修改一个小地方,就要停掉整个项目,再进行开发,然后重新打包和再部署,这样是很麻烦和很多无用功的,牵一发而动全身
微服务是一种架构风格,即开发时,将一个项目合理地拆分成一系列的小服务组合,我们可以对这些独立出来的单个小服务进行组合和开发,整合成一个新的项目,不用像单体应用架构一样对整个进行复制再开发;这样能提升用户使用体验以及我们对项目进行重开发和再维护时可以很大程度上提高我们的效率,每个独立的小服务都是一个可进行替换和升级的独立模块(软件单元),节约了调用资源
微服务关键词:
- 组件化
- 去中心化
- 面向失效,面向升级
- 高内聚,低耦合
相关连接:
Martin Fowler微服务论文翻译
Spring官网
第一个程序
方法一
直接到Spring Boot官网进行配置和下载对应压缩包,下载后解压,用idea导入即可
方法二
直接使用idea进行创建
新建完spring boot项目后先加入对应的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
新建一个controller
@Controller
@RequestMapping("/hello")
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello(){
return "hello";
}
}
启动服务器和访问(启动application的main方法)
将应用打印成jar包:
- 加入插件依赖
<!--将应用程序打成jar包-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
- 在idea右侧找到maven-项目-Lifecycle-package-点击
- 在idea左侧的target找到对应的jar包,将其复制到桌面
- 在桌面打开命令行,cd到对应路径,用java -jar 文件名执行即可运行项目了
用解压软件打开jar包,我们可以在BOOT-INF\lib目录下看到带有tomcat的jar包,这说明spring boot将tomcat内嵌到应用中了
springboot默认使用tomcat作为服务器,当然我们也可以修改成别的服务器
该SpringBoot学习笔记学习自雷神前辈,是对知识点的整理和自我认识的梳理,如有不当之处,欢迎指出