1. 为什么要使用 spring?
- spring 提供 ioc 技术,容器会帮你管理依赖的对象,从而不需要自己创建和管理依赖对象了,更轻松的实现了程序的解耦。
- spring 提供了事务支持,使得事务操作变的更加方便。
- spring 提供了面向切片编程,这样可以更方便的处理某一类的问题。
- 更方便的框架集成,spring 可以很方便的集成其他框架,比如 MyBatis、hibernate 等。
2. 解释一下什么是 aop?
- aop 是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
- 简单来说就是统一处理某一“切面”(类)的问题的编程思想,比如统一处理日志、异常等。
3. 解释一下什么是 ioc?
- ioc:Inversionof Control(中文:控制反转)是 spring 的核心,对于 spring 框架来说,就是由
spring 来负责控制对象的生命周期和对象间的关系。简单来说,控制指的是当前对象对内部成员的控制权;控制反转指的是,这种控制权不由当前对象管理了,由其他(类,第三方容器)来管理。
3. spring 有哪些主要模块?
- spring core:框架的最基础部分,提供 ioc 和依赖注入特性。
- spring context:构建于 core 封装包基础上的context 封装包,提供了一种框架式的对象访问方法
- spring dao:Data Access Object提供了JDBC的抽象层。
- spring aop:提供了面向切面的编程实现,让你可以自定义拦截器、切点等。
- spring Web:提供了针对Web 开发的集成特性,例如文件上传,利用 servlet listeners 进行 ioc 容器初始化和针对 Web 的ApplicationContext。
- spring Web mvc:spring 中的 mvc 封装包提供了 Web 应用的Model-View-Controller(MVC)的实现。