- 1.spring 中都用到了哪些设计模式?
- 2.spring 中有哪些核心模块?
- 3.说一下你理解的 IOC 是什么?
- 4.spring 中的 IOC 容器有哪些?有什么区别?
- 5.那 BeanFactory 和 FactoryBean 又有什么区别?
- 6.@Repository、@Service、@Compent、@Controller它们有什么区别?
- 7.那么 DI 又是什么?
- 8.说说 AOP 是什么?
- 9.动态代理和静态代理有什么区别?
- 10.JDK 动态代理和 CGLIB 代理有什么区别?
- 11.Spring AOP 和 AspectJ AOP 有什么区别?
- 12.spring 中 Bean 的生命周期是怎样的?
- 13.spring 是怎么解决循环依赖的?
- 14.为什么要使用三级缓存,二级缓存不能解决吗?
- 15.@Autowired 和 @Resource 有什么区别?
- 16.spring 事务隔离级别有哪些?
- 17.spring 事务的传播机制有哪些?
- 18.springBoot 自动装配原理?
1.spring 中都用到了哪些设计模式?
- 「1.工厂设计模式」: 比如通过 BeanFactory 和 ApplicationContext 来生产 Bean 对象
- 「2.代理设计模式」: AOP 的实现方式就是通过代理来实现,Spring主要是使用 JDK 动态代理和 CGLIB 代理
- 「3.单例设计模式」: Spring 中的 Bean 默认都是单例的
- 「4.模板方法模式」: Spring 中 jdbcTemplate 等以 Template 结尾的对数据库操作的类,都会使用到模板方法设计模式,一些通用的功能
- 「5.包装器设计模式」: 我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。这种模式让我们可以根据客户的需求能够动态切换不同的数据源
- 「6.观察者模式」: Spring 事件驱动模型观察者模式的
- 「7.适配器模式」:Spring AOP 的增强或通知(Advice)使用到了适配器模式
2.spring 中有哪些核心模块?
- 1.「