面试篇五:微服务SpringBoot、SpringCloud
- SpringBoot
- 1.SpringBoot、SpringMVC、Spring的区别
Spring主要完成的是IOC和AOP的功能。
SpringMVC是通过DispatcherServelet,MoudlAndView 和 ViewResolver等使开发Web应用变得很简单了。
SpringBoot能够更快的构建产品,拥有快速开发整合包。Spring 和 SpringMVC需要大量的配置,Spring Boot 通过一个自动配置,可以通过main方法启动,内置了tomcat,打成jar包直接可以运行,不需要配置web.xml。
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
- 2.SpringBoot自动装配
Spring Boot 提供了配置应用程序和框架所需要的基本配置。启动类用@SpringBootApplication注解,@SpringBootApplication 所包含的子注解@EnableAutoConfiguration完成了自动装配的功能。其不仅加载并装配了 META-INF/spring.factories
中的自动配置相关类,还完成了自定义类的加载与装配。
- 3.SpringBoot怎么完成多环境切换
配置文件application.yml、application-dev.yml、application-pro.yml、application-test.yml
在application.yml中定义spring.profiles.active=dev。
spring: profiles: active: dev #开发环境
- 4.SpringBoot的自定义异常处理页面
统一异常处理,如404错误,只需要定义一个/resources/public/error/404.html页面即可,无需其他配置和代码编写。
- 5.SpringBoot中js放置在哪里
resources\static\js目录下
- 6.SpringBoot项目能否用war包发布
能。
- SpringCloud
- 1.什么是SpringCloud
SpringCloud是基于SpringBoot的微服务系统架构的一站式解决方案。SpringBoot为SpringCloud提供了代码实现环境,使用SpringBoot将其他组件有机融合到SpingCloud中。
- 2.SpringCloud常用组件
微服务注册中心Eureka
OpenFeign与Ribbon
Hystrix服务熔断与服务降级
微服务网关Zuul
分布式配置管理Spring Cloud Config
调用链跟踪Spring Cloud Sleuth+zipkin
消息系统整合框架Spring Cloud Stream
- 3.如何实现服务注册
Eureka