博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开始学习Spring(第一天)
阅读量:2153 次
发布时间:2019-04-30

本文共 963 字,大约阅读时间需要 3 分钟。

开始学习Spring(第一天)

Spring IOC与AOP

IOC与AOP是Spring框架的两大特性,学习Spring之前不得不先了解下这两大特性。

耦合

犹记得上软件工程课时,老师强调软件系统之间要“高内聚、低耦合”。这里就简单记录下耦合。耦合具有双面性。一方面,高耦合的代码难以复用、维护、理解,并且不易修复bug,因为修复一个bug就可能出现其他bug这种情况。另一方面,一定程度的耦合又是必须的,完全没有耦合的代码可能无法完成功能。因此,为了完成软件功能,耦合是必须的,但需要谨慎管理。[1]

IoC

IoC,即Inversion of Control,控制反转。

控制反转是把传统上由程序代码操控的对象的调用权直接交给容器,通过容器来实现对象组件的装配和管理,即由容器来创建对象并管理对象之间的依赖关系。
IoC容器加载过程:创建IoC配置文件抽象资源;创建一个BeanFactory;把读取配置信息的BeanDefinitionReader,是XmlBeanDefinitionReader配置给BeanFactory;把定义好的资源位置读入配置信息,具体的解析过程由XmlBeanDefinitionReader来完成,这样完成整个载入bean定义的过程。

DI

DI,即Dependency Injection,依赖注入,由容器动态地将某种依赖关系注入到组件之中。

通过DI,对象的依赖关系将由系统中负责协调各对象的第三方组件在创建对象时进行设定,对象无需自行创建或管理他们的依赖关系,依赖关系将自动被注入到需要他们的对象当中去。[1]

AOP

AOP,即Aspect-Oriented Programming,面向切面编程。

DI能够解耦,AOP则允许把遍布应用各处的功能分离出来形成可重用的组件。
面向切面编程,能促使软件系统实现关注点分离。系统有许多不同的组件组成,每个组件各负责一块特定功能。除了实现自身核心的功能外,这些组件还常承担着额外的职责。诸如日志、事务管理和安全这样的系统服务经常融入到自身具有核心业务逻辑的组件中区,这些系统服务通常被称为横切关注点。[1]

Spring模块

Spring模块

Spring模块 [2]
[1]:《Spring实战》
[2]: http://image.baidu.com

转载地址:http://itswb.baihongyu.com/

你可能感兴趣的文章
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>
结构型模式之桥接模式(Bridge)
查看>>
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>
<stdarg.h>头文件的使用
查看>>
C++/C 宏定义(define)中# ## 的含义 宏拼接
查看>>
Git安装配置
查看>>
linux中fork()函数详解
查看>>
C语言字符、字符串操作偏僻函数总结
查看>>
Git的Patch功能
查看>>
分析C语言的声明
查看>>
TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
查看>>
C结构体、C++结构体、C++类的区别
查看>>
进程和线程的概念、区别和联系
查看>>
CMake 入门实战
查看>>