第三方框架

1. 什么是AOP、Spring AOP的底层原理是什么

    AOP是面向切面编程,用于在不改变原有逻辑的基础上增加一些额外的功能,如事务管理、日志、缓存、权限控制等。
    Spring AOP是基于代理的。
    如果目标对象实现了接口,则默认采用JDK动态代理。
    如果目标对象没有实现接口,则采用CgLib进行动态代理。
    如果目标对象实现了接口,且强制CgLib代理,则采用CgLib动态代理。

2.2. 什么是IOC、IOC注入方式有哪些

    IOC翻译为控制反转,他还有个别名为DI(依赖注入)。
    IOC就是由IOC容器来负责对象的生命周期和对象之间的关系。
    控制反转就是本来应该你做的事情,让系统去做,比如通常获取一个对象需要通过new,而使用IOC则是IOC将对象创建后注入到被注入的对象中。
    注解注入(Spring)、构造器注入、setter方法注入、接口方式注入(不推荐)

3. Mybatis中 #{} 和 ${}的区别

    #{}是预编译,可防止SQL注入。
    ${}是直接拼接在SQL语句中。

4. Spring Boot的核心注解是什么,它是由哪几个注解组成的

核心注解:@SpringBootApplication
包含:
    @SpringBootConfiguration 实现配置文件功能
    @EnableAutoConfiguration 打开自动配置功能
    @CompoentScan 组件扫描功能

5. SpringBoot 怎么读取配置文件

    属性上使用@Value注解
    类上使用@ConfigurationProperties注解
    读取指定文件注解可在类上使用@PropertySource(不支持yml文件读取)
    注入Environment对象获取到。

6. SpringCloud和Dubbo的区别

SpringCloud采用基于HTTP的REST API,Dubbo采用RPC方式。

7. SpringCloud的Hystrix断路器特性

    请求熔断:请求服务失败量超过一定比例(默认50%)断路器会切换到开路状态,这时所有请求不会发送到后端服务,断路器在保持开路状态一段时间后(默认5秒),自动切换到半开路状态。这时如果下一次请求成功,断路器切回闭路状态,否则重新切换到开路状态。
    服务降级:对于查询操作,可以实现一个fallback方法。当请求服务出现异常时,可以使用fallback方法返回的值。
    依赖隔离:通过线程池来实现资源隔离,比如一个服务调用另外两个服务,如果这两个服务在同一线程池,那么如果一个服务卡住,后面的请求又来了,就会导致后面的请求都会卡住等待。
    请求缓存:缓存上次请求结果,返回给后续请求。
    请求合并:把多个请求合并成一个请求,提升效率。

posted @ 2023-10-06 21:48  wyl010926  阅读(29)  评论(0)    收藏  举报