SpringBoot+SpringCloud面试题.doc

Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具;Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。Spring boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring boot,属于依赖的关系。 Spring Boot和Spring Cloud是现代Java开发中的两个关键框架,它们在构建微服务架构中起着至关重要的作用。Spring Boot作为Spring框架的一个子项目,旨在简化应用程序的创建和配置过程,而Spring Cloud则提供了全面的服务治理工具,使得在分布式系统中进行服务发现、负载均衡、配置管理和熔断等操作变得更加便捷。 1. **Spring Boot的理解** - Spring Boot是基于"约定优于配置"的理念,通过内置的Tomcat或Jetty等Servlet容器,以及丰富的起步依赖(Starter POMs),使得开发者可以快速构建一个独立运行的应用程序。 - 它通过自动配置机制,根据类路径下的存在情况自动配置相应的Bean,减少了XML配置和手动编写代码的需求。 2. **Spring Boot的优点** - 独立运行:内嵌的Servlet容器避免了额外的部署步骤。 - 简化配置:自动配置特性减少手动配置工作。 - 注解驱动:使用注解替代XML配置,如@Controller、@Service等。 - 监控和健康检查:Actuator模块提供应用监控和健康检查功能。 3. **Spring Boot配置文件** - `application.properties`和`application.yml`是主要的配置文件,前者采用键值对形式,后者采用更易读的YAML格式。`bootstrap.properties`用于加载外部配置,如Config Server,常用于环境初始化。 4. **Spring Cloud的作用** - Spring Cloud建立在Spring Boot之上,提供了服务发现(如Eureka)、配置管理(如Config Server)、熔断机制(如Hystrix)、API网关(如Zuul)等服务治理功能,使开发者能够轻松构建云原生应用。 5. **Spring Boot的核心注解** - `@SpringBootApplication`是核心注解,整合了@Configuration、@EnableAutoConfiguration和@ComponentScan,用于声明这是一个Spring Boot应用并启动自动配置和组件扫描。 6. **Spring Boot的特性开启** - 通过继承`spring-boot-starter-parent`父项目,可以获得统一的版本管理和依赖管理。 - 导入`spring-boot-dependencies`作为依赖管理,简化项目构建配置。 7. **Spring Boot运行方式** - 打包成JAR/WAR运行,可部署到服务器。 - 使用Maven或Gradle插件直接运行。 - 直接在IDE中运行主类的main方法。 8. **自动配置原理** - `@EnableAutoConfiguration`启用自动配置,根据类路径下的类和特定条件(如`@ConditionalOnClass`)来配置Bean。 9. **Starters** - Starters是预先配置好的Maven/Gradle依赖集合,如`spring-boot-starter-web`用于Web开发,`spring-boot-starter-data-jpa`用于数据库访问。 10. **Spring Boot常用Starter** - `spring-boot-starter-web`:提供Web开发支持,包括RESTful API、模板引擎等。 - `spring-boot-starter-data-jpa`:集成JPA进行数据库操作,支持多种ORM框架。 - `spring-boot-starter-data-redis`:连接Redis缓存系统。 - `spring-boot-starter-data-solr`:支持Solr搜索引擎。 - `mybatis-spring-boot-starter`:第三方提供的MyBatis集成Starter。 11. **启动时执行特定代码** - 实现`ApplicationRunner`或`CommandLineRunner`接口,这两个接口的`run`方法会在Spring Boot应用启动后运行。 12. **Spring Boot的其他特性** - 自定义Banner:通过`banner.txt`或`banner.yml`自定义启动时显示的Logo。 - 多环境配置:通过`spring.profiles.active`切换不同环境的配置。 - 资源处理:自动处理静态资源(如CSS、JS)和模板引擎(如Thymeleaf、Freemarker)。 13. **Spring Cloud的组件** - Eureka:服务注册与发现。 - Ribbon:客户端负载均衡器。 - Hystrix:容错管理工具,实现服务降级、熔断和隔离。 - Zuul:边缘服务,提供API路由、过滤等功能。 - Spring Cloud Config:分布式配置中心。 理解并熟练掌握Spring Boot和Spring Cloud,对于构建高效、稳定、可扩展的微服务架构至关重要。在面试中,这些知识点是评估候选人对现代企业级开发理解的重要标准。





















剩余18页未读,继续阅读

- 枫叶maple2021-07-30这资源很不错

- 粉丝: 4w+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 改进下垂控制与微电网控制方向下的负载与储能系统仿真研究
- 离线iP库 输入IP地址立即返回IP所在地址信息(支持Java、Python)包含: GeoLite2-City.mmdb GeoLite2-ASN.mmdb
- Maxwell与OptiStruct联合仿真:多目标优化在电动系统关键性能指标中的应用
- 永磁同步电机矢量控制Matlab仿真:双闭环与前馈补偿下的波形表现优秀 - 前馈补偿 高级版
- 电力电子技术中三相可控整流电路设计与仿真的关键技术及应用 · 三相可控整流 v3.0
- 永磁同步电机退磁与温磁双向耦合分析——基于Workbench平台的Maxwell&Fluent实操教程
- 量产车型BMS软件设计详解:碰撞检测、采样处理与多模块功能管理 · 故障诊断 (07月28日)
- 基于博途1200PLC与HMI的水塔水位自动控制系统仿真及其应用
- 基于springboot“智慧食堂”系统设计与实现coder.zip
- 光子晶体光纤与石墨烯-黑磷增强SPR等离子体谐振传感关键技术研究 黑磷
- 光伏系统中三路Boost交错并联技术的C语言实现及仿真分析
- COMSOL多极分解技术在石墨烯电磁场与光学仿真的应用研究
- 电力电子领域中正负序PLL锁相环算法在华为与阳光电源DSP芯片中的应用及C语言实现 C语言
- mmdbIP库文件资源
- 混凝土细观单轴受压与受拉模拟的复现研究——基于太原理工大学硕士论文的方法与结果
- 基于Matlab Robotic Toolbox的四轴机械臂建模与运动控制仿真研究


