spring
IOC
- 传统方式:在传统Java程序中,对象负责创建和管理它所依赖的其他对象。
- IOC方式:对象的创建和管理权交给Spring容器,而不是由对象自己控制。
- 核心思想:将"控制权"从程序代码转移到Spring框架,实现了代码与对象创建逻辑的解耦。
Spring常用设计模式
Spring框架中融合了多种设计模式,让我们用通俗易懂的方式来理解几个主要的设计模式:
1. 工厂模式
想象Spring就像一个大工厂,专门负责生产我们需要的各种对象。
- 生活例子:就像去麦当劳点餐,你只需说"我要一个巨无霸",不用关心厨房里怎么做汉堡的。
- Spring实现:BeanFactory和ApplicationContext就是这样的工厂,你只需要告诉它"我需要一个userService",它就能给你现成的对象。
2. 代理模式
代理模式就像是找了一个"替身"来帮你做事情,在做事情的前后可能还会做些额外工作。
- 生活例子:明星找经纪人处理日常事务,经纪人在安排活动前后,还会额外谈价钱、签合同。
- Spring实现:Spring AOP就是通过代理实现的,比如在你的业务方法执行前后自动插入事务控制、日志记录等功能。
3. 观察者模式
当一个对象状态变化时,它的所有依赖者都会收到通知。
- 生活例子:就像订阅了公众号,公众号有新文章,所有粉丝都能收到推送。
- Spring实现:Spring的事件机制就是观察者模式,如ApplicationEvent和ApplicationListener,当特定事件发生时,相关的监听器就会被自动调用。
4. 模板方法模式