文章目录
什么是SpringBoot?
给Spring服务的,是为了简化Spring项目的初始化搭建以及开发过程。
为什么要用SpringBoot?
- 易上手
- 配置简单
- 提升开发效率
SpringBoot核心配置文件是什么?
- bootstrap:由父ApplicationContext加载,因此它是要比application配置文件先加载,并且里面的属性不可被覆盖。
- application:springboot项目的自动化配置。
文件格式为.yml或者.properties都可以。
.yml格式不支持@PropertySource注解导入。
SpringBoot怎样实现热部署?
- devtools:添加devtools库,在配置文件中将spring.devtools.restart.enabled设置为true。
- idea编辑器:勾上自动编译或者手动重新编译。
jpa 和 hibernate 有什么区别?
Java Persistence API —— Java 持久化接口规范
hibernate 属于 jpa 的具体实现。
什么是 Spring Cloud?
它是一系列框架的有序集合。
利用 Spring Boot 的开发便利性巧妙的简化了分布式系统基础设施的开发,如发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都能用 Spring Boot 的开发风格做到一键启动和部署。
Spring Cloud 的核心组件有哪些?
- Eureka: 服务注册于发现。
- Feign: 基于动态代理机制,根据注解和选择的机器拼接请求 url 地址,发起请求。
- Ribbon: 实现负载均衡,从一个服务的多台机器中选择一台。
- HyStrix: 提供线程池,不同的服务走不同的线程池,来实现不同服务调用的隔离,避免了服务雪崩的问题。
- Zuul: 网关管理,由 Zuul 网关转发请求给对应的服务。
Spring Cloud 断路器的作用是什么?
在分布式架构中,断路器模式的作用也是类似的。当某个服务单元发生故障(类似用电器发生短路)后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。如此便不会令线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。