-
描述集群、负载均衡、分布式
同一个业务,部署在多个服务器上
负载均衡:将服务器接收到的请求按照规则分发的过程,称为负载均衡
分布式:一个业务分拆多个子业务,部署在不同的服务器上
-
Nginx负载均衡的规则有哪些
- 轮询(默认) 2.指定轮询几率 weight=1 3、ip_hash url_hash(第三方) 5、fair(第三方)
-
详细描述什么是Spring?
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。
-
什么是Spring IOC?
控制反转(Inversion of Control,缩写为IoC),又称为依赖注入,是面向对象编程中的一种设计思想,可以用来降低计算机代码之间的耦合度
-
什么是Spring AOP?描述其应用场景(最少2个)
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率
1.事务管理 2.Lazy loading 懒加载 3.Debugging 调试
-
AOP的通知有几个,分别是什么
1.前置通知 2.环绕通知 3.异常通知 4.后置通知 5.返回通知
-
描述Spring Bean的作用域?
在Spring中,可以在bean元素的scope属性里设置bean的作用域,以决定这个bean是单实例的还是多实例的
singleton 在IOC容器中仅存在一个bean实例,bean以单实例的方式存在
prototype 每次调用getBean()时都会返回新的实例
-
Spring Bean 注入有几种方式?
1.set()方法 2.构造器
3.静态工厂 4.实例工程
-
SpringBean 生命周期?
Spring IOC容器可以管理bean的生命周期,Spring允许在bean生命周期内特定的时间点执行指定的任务
在配置bean时,通过init-method和destroy-method属性为bean指定初始化和销毁方法
-
Spring框架中 用到了哪些设计模式?(不低于3个)
1.工厂模式 2.单例模式 3.代理模式 4.适配器模式
-
描述Spring事务传播行为?
PROPAGATION_REQUIRED -> 支持当前事务如果不存在就重新创建一个
PROPAGATION_SUPPORTS -> 支持当前事务,如果不存在就不使用事务
PROPAGATION_MANDATORY -> 支持当前事务,如果不存在就抛出异常
PROPAGATION_REQUIRES_NEW -> 如果有事务存在,就挂起当前事务,创建一个新事务
PROPAGATION_NOT_SUPPORTED -> 以非事务方式运行,如果有事务存在就挂起当前事务
PROPAGATION_NEVER -> 以非事务方式运行,如果有事务就抛出异常
PROPAGATION_NESTED -> 如果当前事务存在就嵌套事务运行 -
描述Spring事务的隔离级别?
ISOLATION_DEFAULT -> 使用数据库的隔离级别
ISOLATION_READ_COMMITTED
ISOLATION_READ_UNCOMMITTED
ISOLATION_REPEATABLE_READ
ISOLATION_SERIALIZABLE -
Spring事务传播行为 REQUIRED和REQUIRES_NEW区别
两者都用于内嵌事务:在一个事务方法内嵌套调用另一个事务。
但是NESTED是可以回滚到保存点的,即要么选择提交调用方的数据,要么选择把调用方数据回滚(当然被掉用方肯定回滚了)到保存点,或者全部回滚
而REQUIRES_NEW是要么选择提交调用方的数据,要么选择把调用方数据回滚(当然被掉用方肯定回滚了)