Java基础十、Spring Boot /Spring Cloud

104、什么是springboot

spring boot是为spring服务的,用来简化新的spring应用的初始化搭建以及开发过程。

105 为什么要用spring boot?

1)配置简单

2)独立运行

3)自动装配

4)无代码生成和xml配置

5)提供应用监控

6)易上手

7)提升开发效率

106、spring boot 核心配置文件是什么?

1) bootstrap(.yml或者 .properties): bootstrap由父ApplicationContent加载,比application优先加载,且bootstrap里面的属性不能被覆盖;

2) application(.yml 或者.properties): 用于spring boot项目的自动化配置。

107、spring boot配置文件有哪些类型? 它们有什么区别?

配置文件由.properties格式 和 .yml 格式,它们主要的区别是书法风格不同。

.yml格式不支持 @PropertySource 注解导入。

108 spring boot有哪些方式可以实现热部署?

1) 使用devtools启动热部署,添加devtools库,在配置文件中把spring.devtools.restart.enabled 设置为true;

2) 使用Intellij Idea编辑器,勾上自动编译或者手动重新编译。

109. jpa和Hibenate有什么区别?

jpa全称Java Persistence API,是Java 持久化接口规范, hibernate属于jpa的具体实现。

110、什么是SpringCloud

SpringCloud是一系列框架的有序集合,它利用Spring Boot的开发便利性简化了分布式系统基础设施开发,如服务注册和发现,配置中心,负载均衡,断路器,数据监控,消息总线等,都可以利用Spring Boot的开发风格做到一键启动和部署。

111、SpringCloud断路器的作用。

在分布式系统中,单个服务发生故障之后,通过断路器的故障监控,向调用方返回一个错误响应,而不是长时间等待。这样不会让线程因调用故障服务而得不到释放,避免故障在分布式系统中蔓延。

112、Spring Cloud的组件有哪些

Eureak: 服务发现注册中心

Ribbon:负载均衡器

Hystrix: 断路器。提供线程池,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩问题。

Feign:基于动态代理,根据注解和选择的集群,并集请求url地址,发起请求。

Zuul:网关管理,有Zuul网关转发请求给对应的服务。