SpringBoot微服务框架概述
SpringBoot微服务框架
- 2. Spring Boot 微服务框架的特点
- 3. Spring Boot 应用场景
- 4. SpringBoot的第一个应用
- 5. Springboot引导类的main方法有什么作用?
- 6. SpringBoot的场景启动器
- 7.@SpringBootApplication探究
- 8.如何配置SpringBoot的配置文件?
1. Spring Boot概述
SpringBoot是一个微服务框架,基于Spring的,换句话就是Spring中有的功能,在SpringBoot中都能实现。
SpringBoot就是简化了Spring的开发。
微服务与单体架构的区别
- 单体架构所有的模块全都耦合在一块,代码量大, 维护困难 ,微服务每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来说比较好解决。
- 单体架构所有的模块都共用一个数据库, 存储方式比较单一 ,微服务每个模块都可以使用不同的存储方式(比如有的用redis,有的用mysql等),数据库也是单个模块对应自己的数据库。
- 单体架构所有的模块开发所使用的技术一样,微服务每个模块都可以使用不同的开发技术, 开发模式更灵活 。
2. Spring Boot 微服务框架的特点
- SpringBoot就是简化了Spring的开发
- 嵌入的Tomcat,无需部署WAR文件,使部署变得简单
- 简化Maven配置 ,提供了多种场景启动器,使配置变得简单
- 自动配置Spring ,提供了默认配置,使配置变得简单
- 提供生产就绪型功能,如指标,健康检查和外部配置 ,使监控变简单
3. Spring Boot 应用场景
- Spring能够应用的场景
- javaWeb应用
- 微服务
4. SpringBoot的第一个应用
需求:在浏览器端发送一个hello请求,服务器响应回浏览器一个字符串Hello World
- 在Idea中创建Maven工程
- 导入SpringBoot相关依赖
- 编写主程序启动SpringBoot应用,编写SpringBoot的引导类
···
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//这个类就是SpringBoot的引导类
@SpringBootApplication
public class SpringBootApplicationMain {
public static void main(String[] args) {
//固定的写法
SpringApplication.run(SpringBootApplicationMain.class,args);
}
}
··· - 编写controller,运行main方法
···
@Controller
public class HelloController {
@RequestMapping(“/hello”)
@ResponseBody
public String hello(){
return “Hello World”;
}
}
···
与Spring开发的不同
- 没有配置 配置文件
- 没有部署tomcat
- 没有大量的Maven依赖
5. Springboot引导类的main方法有什么作用?
SpringBoot启动时通过main方法启动,主要做两方面工作:
1.初始化Spring容器
2.启动tomcat运行项目
SpringBoot在生产环境的部署
导入一个打包jar包的插件,将项目打包成jar包
可将项目打包成可执行的jar包,简化了SpringBoot的应用部署,先导入如下插件:
···org.springframework.boot
spring-boot-maven-plugin
···
直接运行这个jar包
6. SpringBoot的场景启动器
什么是场景启动器?有什么作用?
spring-boot-starter
作用:Spring Boot的核心启动器,包含了自动配置、日志和YAML
查看parent的starter
SpringBoot读取resources下的也就是类路径下的application开头的三种配置文件。
parent的stater继承于dependencies
这里包含了Spring的依赖,还包含了很多框架及工具的依赖,这些依赖都已经定义好了版本,版本是由SpringBoot的版本来决定的,这些依赖的版本一定是兼容的。
查看web的starter
- tomcat的启动器
- spring-web和spring-mvc的依赖
7.@SpringBootApplication探究
@SpringBootApplication注解的作用:
@SpringBootApplication是SpringBoot的主配置类,由该注解配置的类,Springboot 就会运行main方法启动SpringBoot应用
@SpringBootApplication注解是一个组合注解,由三个主要的注解组成
@SpringBootConfiguration注解
包含了@Configuration注解 修饰的类是一个配置类
引导类本身就是一个配置类
···
@SpringBootApplication
public class SpringBootApplicationMain {
public static void main(String[] args) {
//初始化Spring的IOC容器
ApplicationContext context =SpringApplication.run(SpringBootApplicationMain.class,args);
Person person = (Person)context.getBean(Person.class);
System.out.println(person);
}
@Bean
public Person getPerson(){
return new Person();
}
···
或者单独卸载一个类中
···
//定义成配置类
//Spring容器在初始化时,自动执行配置类中所有@Bean修饰的方法
//将这些方法返回的对象,注册在IOC容器中
@Configuration
public class MyConfig {
@Bean(“person”)
public Person getPerson(){
return new Person();
}
}
···@ComponentScan注解 :扫描当前类(引导类)所在的包及子包下的含有@Component注解的类,注册为Bean,相当于以前在Spring配置文件中配置的ComponentScanner这个bean
在第一个应用中的 HelloController类一定要在引导类的包中或其子包中@EnableAutoConfiguration注解:开启Springboot的 自动配置功能 ,加载各个场景启动中的自动配置类,将配置类中的bean注册在容器中
可以 通过properties或yml配置文件来修改 容器中bean的属性 ,以达到修改默认配置的目的
8.如何配置SpringBoot的配置文件?
SpringBoot配置文件的作用:
修改Spring Boot自动配置的默认值
SpringBoot 配置文件分为两种:
- application.properties配置
- application.yml配置
使用特定的YML语法进行编写
SpringBoot微服务框架概述相关推荐
- 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)...
本文你将学到什么? 本文将以原理+实战的方式,首先对"微服务"相关的概念进行知识点扫盲,然后开始手把手教你搭建这一整套的微服务系统. 项目完整源码下载 https://github ...
- 秒杀springboot——未来轻量级高性能的Java云原生微服务框架来啦
秒杀springboot--未来轻量级高性能的Java云原生微服务框架来啦 引子 自2003年Rod.Juergen 和 Yann开发并发布Spring项目后,J2EE 迎来了新的开始.在 2013 ...
- 第六篇:微服务框架(SpringBoot、SpringCloud)
目录 一. 微服务框架 1. 微服务架构概念 2. 微服务的利与弊(为什么要用微服务) 二. SpringBoot 1. SpringBoot是什么? 2. SpringBoot核心注解是什么? 3. ...
- 十分钟搭建微服务框架(SpringBoot +Dubbo+Docker+Jenkins源码)
这套系统搭建完之后,那可就厉害了: 微服务架构 你的整个应用程序将会被拆分成一个个功能独立的子系统,独立运行,系统与系统之间通过RPC接口通信.这样这些系统之间的耦合度大大降低,你的系统将非常容易扩展 ...
- 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)......
手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 原文: 手把手0基础项目实战(一)--教你搭建一套可自动化构 ...
- 0基础教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)
2019独角兽企业重金招聘Python工程师标准>>> 本文你将学到什么? 本文将以原理+实战的方式,首先对"微服务"相关的概念进行知识点扫盲,然后开始手把手教你 ...
- 熔断降级与限流在开源SpringBoot/SpringCloud微服务框架的最佳实践
目录导读 熔断降级与限流在开源SpringBoot/SpringCloud微服务框架的最佳实践 1. 开源代码整体架构设计 2. 微服务逻辑架构设计 3. 微服务熔断降级与限流规划 3.1 微服务熔断 ...
- ServiceComb微服务框架
文章目录 一.ServiceComb 的概述 二.服务中心 CSE 的介绍 三.Restful 方式开发 四.RPC 方式开发 五.ServiceComb 服务治理方案 一.ServiceComb 的 ...
- JavaEE 企业级分布式高级架构师(十三)微服务框架 SpringCloud (H 版)(1)
Spring Cloud学习笔记 Spring Cloud入门 分布式技术图谱 Spring Cloud简介 官网介绍 百度百科 总结 Spring Cloud的国内使用情况 Spring Cloud ...
最新文章
- mysql int 默认值 为ull_数据类型--ULL、ll
- Asp.net2.0页面的生命周期(续)
- Windows下为PHP安装redis扩展
- 特征层次分析、视觉特征语义探索(微调+预训练)
- Android, WindowsPhone7, IOS ,vc2010平台40多套图片滤镜开源
- 屏保延迟启用密码保护
- 离线OCR、文字识别、ios证件扫描、ios系统OCR(ios、android)
- 测试@Test启动报错解决方案
- 《GB∕T 35273-2020 信息安全技术 个人信息安全规范》已正式实施,这些变化需牢记!(附下载)
- fail can only be invoked by user TAP gesture.
- matplotlib显示伪彩色图像及色度条
- 如何在线将多个PDF文档进行合并
- 生成token的工具类
- 关于c/c++里面结构体指针变量的申请空间问题。
- 视频播放ExoPlayer(附小demo)
- 第四周 Java语法总结_内部类_常用类_getclass_toStrong_equals_clone_Scanner_String_StringBuffer_Integer_集合_插入排序
- 张宇基础30讲 第14讲
- 快速入眠--海军两分钟入睡法
- 纯css和html光芒特效,纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
- Ralink RT5350 GPIO配置(坑了个大爹的)
热门文章
- mysql cc攻击_防御CC攻击说明
- Spring Boot application starters
- 2021年化工自动化控制仪表免费试题及化工自动化控制仪表试题及解析
- List中删除指定元素
- jmeter+exexl实现接口自动化
- ionic2 小米手机拍照选相册 闪退的问题
- chrome浏览器隐藏滚动条
- 含文档+PPT+源码等]精品基于Uniapp+SSM实现的android在线点单系统APP[包运行成功]Java毕业设计Android项目源码
- 带带弟弟ocr,对各种类型验证码说不!
- Linux入门命令小结