Spring
- 什么是Spring?作用?
(1)Spring 是软件框架, 是软件的半成品, 封装了很多软件需要的功能, 使用Spring开发软件, 可以快速的开发软件产品. 使用Spring就是使用Spring提供的组件功能, 使用时候必须遵守Spring约定.Spring 核心功能: IOC/DI 控制翻转/依赖注入、AOP 面向切面(儿)编程。
(2)Spring的作用是创建和管理对象!使用Spring可以更加简便的解决对象之间的依赖问题,实现解耦!
- Spring框架的优点都有什么?
(1)简化编程:Spring对JavaEE中的一些比较繁琐的API做了简化和封装,使用封装之后的API不仅代码更简洁,而且质量更高。
(2)解耦:对象之间的依赖关系由容器来统一管理、降低了对象之间的耦合度、方便代码的维护,同时也实现了资源的统一调度和管理。
(3)支持面向切面编程AOP:可以方便对程序添加通用的服务,比如事务、权限管理等。
(4)集成其它框架:不发明重复的轮子,集成其它一些优秀框架、使开发者用统一的并且更加简洁的方式来使用这些框架。轻量:可以依赖项目的实际要求,有选择的使用Spring框架的全部或者一部分。
- 什么是IOC/DI,实现原理是什么?
(1)IOC Inverse of Control 反转控制的概念,指的是对象之间的依赖关系交由容器(第三方)来管理。
(2)DI:Dependency Injection 依赖注入,指容器通过调用构造器或者set方法来建立对象之间的依赖关系。
- 列出IOC的3种主要注入方式?
(1)构造方法注入
(2)setter属性注入
(3)接口注入
- 构造器注入和 setter 依赖注入,那种方式更好?
每种方式都有它的缺点和优点。
(1)构造器注入保证所有的注入都被初始化,但是 setter 注入提供更好的灵活性来设置可选依赖。
(2)如果使用 XML 来描述依赖,Setter 注入的可读写会更强。
(3)经验法则是强制依赖使用构造器注入,可选依赖使用setter注入。
- 依赖注入和工厂模式之间有什么不同