spring的核心:
- Bean管理,
- 依赖注入,也称控制反转(IOC),
- 面向切面编程(AOP)。
1:Bean管理
与传统的应用程序不同,在Spring中将对象的创建交给Spring容器来管理,也就是说只有放入Spring容器中的类,Spring才能对其产生作用。ApplicationContext的实现类通过getBean()方法从Spring容器中获取对象,默认为单例的。
Tips:ApplicationContext常用的四个实现类:
- ClassPathXmlApplicationContext 从 classpath 加载 spring 的配置文件
- FileSystemApplicationContext 从系统文件加载 spring 的配置文件
- AnnotationConfigApplicationContext 获取基于注解的 spring 容器对象
- XmlWebApplicationContext 在 web 环境中获取 spring 容器对象
2:控制反转(IOC)
在传统程序中,当某个角色需要另外一个角色协助时,由调用者来创建被调用者的实例。而在Spring中,创建被调用者的的工作不再由调用者来完成,而由第三方Spring容器来完成,所以称为控制反转,Spring容器创建被调用者的实例,然后注入调用者,所以又称为依赖注入。
set注入:在配置文件中<bean>下使用<property id="xxName" ref="xxBean">节点
构造注入:在配置文件中<bean>下使用<constructor-arg id="xxName" ref="xxBean">节点
3:面向切面编程(AOP)
面向切面编程基于动态代理实现,降低了类之间的耦合程度。Spring的事务管理就是基于AOP实现的。
aop详解:https://blog.csdn.net/moreevan/article/details/11977115
note:AOP应用场景之日志管理,可参考我的博客《SpringBoot学习篇》(5)AOP+自定义注解实现日志管理