1.什么是Spring?
参考答案:
sping是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器
2.Spring的核心?
参考答案:
- 控制反转(IoC)
- 依赖注入(DI)
- 面向切面编程(AOP)
控制反转(IoC)
参考答案:
控制反转就是把创建对象的权利交给容器去控制,由容器进行注入对象,而不需要人为的去创建,这样就降低代码的耦合度,降低了扩展和维护的成本。它是一个面向对象编程的重要法则。
依赖注入(DI)
参考答案:
依赖注入是指组件之间的依赖关系由容器在运行时决定;依赖注入的目的是提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。
常见的依赖注入实现方式:
- setter注入
- 构造方法注入
- 注解注入
IoC和DI的关系:IoC是bean的注册,DI是bean的初始化;DI是实现IoC的方法和手段
面向切面编程(AOP)
参考答案:
面向切面编程(Aspect Oriented Programming,AOP),它就好比将系统按照功能分类,每一个类别就是一个“切面”,我们再针对不同的切面制定相应的规则,类似开发模式被称为面向切面编程。
AOP 使用场景
- 日志记录
- 性能统计
- 安全控制
- 事物管理等…
AOP相关概念
- Join point:连接点,程序执行期间的某一个点,例如执行方法或处理异常时候的点,在 Spring AOP 中,连接点总是表示方法的执行。