Spring核心概念
-
IOC:扩展反转,new对象的权利的由使用者改为spring去创建。spring要想使用IOC去创建对象,必须使用到DI
-
DI:依赖注入,就是给new出来的对象设置成员变量
-
AOP:就是将项目中的业务代码(提交订单)和系统代码(事物、记录日志)进行解耦,也是给业务代码进行一样,功能增强的一种途径
-
AOP是和OOP,都是编程思想
-
AOP的实现有哪些?
- spring
- AspectJ
- spring整合AspectJ
-
-
BOP:面向bean的编程。在spring中一切都是针对Bean设计和编程的
- Bean被spring通过IOC和DI进行创建和管理
- Bean被spring通过AOP进行功能增强
- Bean其实就是对应bean标签和@Bean注解的类
-
基础容器:IOC容器、BeanFactory接口(DefaultListableBeanFactory)
-
高级容器:ApplicationContext接口,实现了BeanFactory接口,只是在该接口之外,新加了一些高级功能,本质上还是一个BeanFactory
-
高级容器和基础容器区别:
- 高级容器对于bean实例的加载时机是项目启动时(饿汉式加载)
- 基础容器对于bean实例的加载时机是第一次被需要时(懒汉式加载)