1. 单例模式——spring 中两种代理方式,若目标对象实现了若干接口,spring 使用 jdk 的 java.lang.reflect.Proxy类代理。若目标兑现没有实现任何接口,spring 使用 CGLIB 库生成目标类的子类。
单例模式——在 spring 的配置文件中设置 bean 默认为单例模式。
2. 模板方式模式——用来解决代码重复的问题。 比如:RestTemplate、JmsTemplate、JpaTemplate
3. 前端控制器模式——spring 提供了前端控制器 DispatherServlet 来对请求进行分发。
4. 试图帮助(view helper)——spring 提供了一系列的 JSP 标签,高效宏来帮助将分散的代码整合在试图中。
5. 依赖注入——贯穿于 BeanFactory/ApplacationContext 接口的核心理念。
6. 工厂模式——在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用同一个接口来 指向新创建的对象。Spring 中使用 beanFactory 来创建对象的实例。