Spring Cloud 和 Spring Boot

1. Spring Cloud介绍

(1)什么是Spring Cloud?

是一个服务治理平台,提供了一些服务框架,包含了:服务注册与发现、配置中心、消息中心、负载均衡、数据监控等等。

(2)Spring Cloud Config是什么?

配置管理工具,支付使用Git存储配置内存,支持应用配置的外部化村粗,支持客户端配置信息的刷新,加解密配置内容等。

(3)Spring Cloud Bus是什么?

时间、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。

(4)Spring Cloud Netflix是什么?

针对多种Netflix组件提供的开发工具包,其中包括Eureka 、Hystrix 、Zuul 、Archaius等。

(5)Spring Cloud Stream是什么?

数据流操作开发包,封装了与Redis,Rabbit,Kafka等发送接收消息。

2.Spring Cloud与dubbo的区别

(1)Spring Cloud与Dubbo的区别是什么?

3.常见版本号说明

(1)软件中的版本号分别表示什么含义?

软件版本号:2.0.2.RELEASE
2: 主版本号。当功能模块有较大更新或者整体架构发生变化时,主版本号会更新
0:次版本号。次版本表示只是局部的一些变动。
2:修改版本号。一般是bug的修复或者是小的变动
RELEASE:希腊字母版本号。此版本号用于标注当前版本的软件处于哪个开发阶段。

(2)希腊字母版本号都有哪些?分别表示什么含义?

Base:设计阶段。只有相应的设计没有具体的功能实现。
Alpha:软件的初级版本。存在较多的Bug
Bate:表示相对alpha有了很多的进步,消除了严重的bug,还存在一些潜在的bug
Release:该版本表示最终版

4.Spring Cloud版本定义说明

(1)Spring Cloud版本号中的单词定义规则是什么?

采用伦敦的地铁站名称来作为版本号的命名,根据首字母的排序,字母顺序靠后的版本号越大。

(2)为什么Spring Cloud在定义版本时使用的是单词而非数字?

设计目的是为了更好的管理每个Spring Cloud的子项目的清单。避免子版本号与子项目的版本号混淆。

(3)在Spring Cloud版本中GA、PRE(M1,M2)、RC、SR分别表示什么含义?

5.SpringBoot回顾

(1)什么是Spring Boot?

Spring Boot是在Spring的基础上产生的,确切的说是在Spring4.0版本的基础之上,其中“Boot”的意思就是“引导”,意在简化开发模式,是开发者能够快速的开发出基于Spring的应用。Spring Boot含有一个内嵌的web容器。我们开发的web应用不需要作为war包部署到web容器中,而是作为一个jar包,在启动根据web服务器的配置进行加载。

(2)Spring Boot解决了什么?

1、spring Boot 使配置变简单
2、Spring Boot 使编码变简单
3、Spring Boot 使部署变简单
4、Spring Boot 使监控变简单(自带监控的变量)

6.SpringBoot快速构建项目

(1)快速构建Spring Boot项目的网址是什么?

https://projects.spring.io/spring-boot/
https://start.spring.io/ 构建 Spring Boot 的页面

(2)如何通过Spring官网快速构建Spring Boot项目?

1、会自动的帮助我们生成启动类
2、会自动生成存放静态资源的目录,还会生成全局配置文件
3、会自动生成测试代码,当然只是一个结构
4、Spring Boot官方推荐的Jdk版本为1.8或者更高

7.全局配置文件操作

(1)如何在Spring Boot的全局配置文件中修改内嵌容器的端口号?

server.port=8888

(2)如何在Spring Boot的全局配置文件中配置变量引用?

hello=bjsxt
msg=Hello World h e l l o @ V a l u e ( " {hello} @Value(" hello@Value("{msg}")
private String msg;

8.yml配置文件讲解

(1)什么是yml配置文件?

是Spring Boot 中新增的一种配置文件格式。
特点:具备天然的树状结构

(2)yml配置文件与properties配置文件的区别?

1、配置文件的扩展名有变化
2、配置文件中的语法有变化

(3)yml配置文件的语法要求是什么?

1、在properties文件中是以“.”进行分割,在yml中使用“:”进行分割
2、yml的数据格式和json的格式很像,都是K-V结构的。并且是通过“:”赋值
3、在yml中缩进一定不能使用TAB件,否则会报错
4、每个K的冒号后面一定要加一个空格

9.logback日志记录器讲解

(1)logback中的日志级别有哪些?

trace 、debug 、info 、warn 、error

10.SpringBoot配置文件-多环境配置

(1)在Spring Boot的多环境配置中,profile表示什么?

代表的就是一个环境变量

(2)在Spring Boot的多环境配置中,配置文件的命名格式是什么?

application-{profile}.properties

(3)在启动多环境配置项目的命令中,如何加载指定配置文件?

java -jar springboot-helloworld-0.0.1-SNAPSHOT.jar --spring.profiles.active=test|dev|prod

11.SpringBoot核心注解介绍

(1)@SpringBootApplication注解的作用是什么?

代表是SpringBoot 的启动类

(2)@SpringBootConfiguration注解的作用是什么?

通过bean对象来获取配置信息

(3)@Configuration注解的作用是什么?

通过对bean对象的操作替代spring中xml文件

(4)@EnableAutoConfiguration注解的作用是什么?

完成一些初始化环境的配置

(5)@ComponentScan注解的作用是什么?

来完成spring的组件扫描。替代之前我们在xml文件中配置组件扫描的配置<context:component-scan pacage=”…”>

(6)@RestController注解的作用是什么?

1、表示一个Controller
2、表示当前这个Controller下的所有的方法都会以json格式的数据响应

12.SpringBoot全局异常处理

(1)@ControllerAdvice+@ExceptionHandler注解处理异常基本原理是什么?

@ControllerAdvice
public class MyControllerAdvice {

    @ResponseBody
    @ExceptionHandler(value = java.lang.Exception.class)
    public HashMap<Object, Object> myException(Exception ex){
        HashMap<Object, Object> map = new HashMap<>();
        map.put("code",500);
        map.put("msg","出错了");
        return map;
    }

    @ResponseBody
    @ExceptionHandler(value = java.lang.NullPointerException.class)
    public HashMap<Object, Object> myException2(Exception ex){
        HashMap<Object, Object> map = new HashMap<>();
        map.put("code", -500);
        map.put("msg", "空指针异常");
        return map;
    }

    @ResponseBody
    @ExceptionHandler(value=com.bjsxt.springboothelloworld.exception.ApplicationException.class)
    public Map<String, Object> myException3(Exception ex) {
        Map<String, Object> map = new HashMap<>();
        map.put("code", -800);
        map.put("msg", ex.getMessage());
        return map;
    }
}

13.使用Actuator检查与监控

(1)什么是Actuator检查与监控?

用来检查springboot的健康状况

(2)如何在项目的全局配置文件中设置关闭安全限制?

在配置文件中添加management.security.enabled=false

14.SpringBootAdmin项目创建

(1)在搭建SpringBootAdmin服务端项目中,启动类上需要添加什么注解?

@EnableAdminServer

(2)在搭建客户端时,需要在全局配置文件中添加什么配置?

<dependency> 
<groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>1.5.7</version>
</dependency>

15.SpringBootAdmin监控信息讲解

(1)管理页面中APPLICATIONS的作用是什么?

application视图下有个details。里面包含了很多监控信息

(2)管理页面中JOURNAL的作用是什么?

主要显示日志信息

(3)管理页面Details中都能看到哪些常用的监控信息?

当前应用:application–>up
磁盘空间:diskspace–>up
内存信息:memory
JVM信息:JVM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值