1、Spring主要用到两种设计模式

1.1 工厂模式

Spring容器就是实例化和管理全部Bean的工厂。

工厂模式可以将Java对象的调用者从被调用者的实现逻辑中分离出来。

调用者只关心被调用者必须满足的某种规则,这里的规则我们可以看做是接口,而不必关心实例的具体实现过程,具体实现由Bean工厂完成。

1.2 单例模式

Spring默认将所有的Bean设置为单例模式,即对所有相同的Bean请求,都将返回同一个共享Bean实例,这样就可以大大减低Java对象创建和销毁时的系统开销。

使用Spring将Bean设置为单例模式,则无需自己完成单例模式。

2、Spring的核心机制

2.1 控制反转和依赖注入

Spring中,创建被调用者的工作不再由调用者来完成,因此被称为控制反转。

创建被调用者实例的工作由Spring容器来完成,然后注入调用者,因此被称为依赖注入。

(依赖的含义:两个元素中一个定义发生改变则会引起另一个元素发生变化,则称这两个元素之间存在依赖关系)

3、Spring的核心机制

3.1 面向方面编程

面向方面编程就是AOP。

他并不会取代面向对象编程OOP,他是面向对象编程的补充。

AOP从动态的角度考虑程序结构,从而使OOP更加完善。

面向对象编程将程序分解成各个层次的对象,而面向方面编程将程序运行过程分解为各个切面。

最新文章

  1. 如何用卷积神经网络CNN识别手写数字集?
  2. Day 1:开始重新学习
  3. FIFO简记
  4. C++ Primer----一个关于 vector 的有趣的问题
  5. HDU 4539郑厂长系列故事――排兵布阵(状压DP)
  6. oracle表空间使用情况查询
  7. HDU 1599 find the mincost route (无向图floyd最小环详解)
  8. Memcahce(MC)系列(两)Linux下一个Memcache安装
  9. DevExpress的SpinEdit控件无法输入数字的问题
  10. 浅析深度学习mini_batch的BP反传算法
  11. Java中interrupt的使用
  12. Linux自启动执行脚本方法
  13. Android ORC文字识别之识别身份证号等(附源码)
  14. C#参考教程 http://www.csref.cn
  15. 盘点海口最好吃的西餐厅top10
  16. 深度学习(二)--深度信念网络(DBN)
  17. 配置一个 Confluence 6 环境
  18. AppleID的双重认证
  19. docker的安装与启动
  20. mysql 超时时间

热门文章

  1. err Invalid input of type: 'dict'. Convert to a byte, string or number first
  2. 2015-2016-2《Java程序设计》团队博客5
  3. 隐藏一个button的方法(2种) 写出一个button的按钮(2种)
  4. Netty集成Protobuf
  5. Bi-Directional ConvLSTM U-Net with Densley Connected Convolutions
  6. Java基础 try...catch 处理ArithmeticException 除以零的异常
  7. 预测分析建模 Python与R语言实现
  8. PAT 甲级 1086 Tree Traversals Again (25分)(先序中序链表建树,求后序)***重点复习
  9. depth wise CNN
  10. [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程2