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