还没有将Spring的一些基本概念详细的整理出来,现在网上找了篇,基本算是都概括了。 转载于http://blog.sina.com.cn/s/blog_49d3ec2f0100pndi.html spring 的优点?
1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦
2.可以使用容易提供的众多服务,如事务管理,消息服务等
3.容器提供单例模式支持
4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能
5.容器提供了众多的辅助类,能加快应用的开发
6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等
7.spring属于低侵入式设计,代码的污染极低
8.独立于各种应用服务器
9.spring的DI机制降低了业务对象替换的复杂性
10.Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可以自由选择spring的部分或全部
什么是DI机制?
依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念,具体的讲:当某个角色需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在spring中创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者因此也称为依赖注入。 spring以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。
设置注入的优点:直观,自然构造注入的优点:可以在构造器中决定依赖关系的顺序。
什么是AOP?面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面 1.面向切面编程提供声明式事务管理 2.spring支持用户自定义的切面 面向切面编程(aop)是对面向对象编程(oop)的补充,面向对象编程将程序分解成各个层次的对象,面向切面编程将程序运行过程分解成各个切面。
AOP从程序运行角度考虑程序的结构,提取业务处理过程的切面,oop是静态的抽象,aop是动态的抽象,是对应用执行过程中的步骤进行抽象,,从而获得步骤之间的逻辑划分。 aop框架具有的两个特征: 1.各个步骤之间的良好隔离性 2.源代码无关性 ----------------------------------------------------------------------------------------------- DI 和 IOC 的区别 DI 和 IOC DI和IOC是差不多的概念。 一个重要特征是接口依赖,是把对象关系推迟到运行时去确定. DI是一个初始化实例的过程,分为三种1.setter based 2.constructor based 3.interface based,在spring 中就是应用前两种;但又不仅仅是初始化实例,而且是运用接口的概念去实现这种注入依赖。静态地看,只是依赖一个接口,但实际运行起来,是依赖一个实现了该接口的具体类。
IOC就是面向接口编程的应用 1.一个通常的做法(非面向接口编程的方法),对象A依赖对象B,B会作为A的属性,可以理解为A直接控制B; 2.IOC的做法,对象A依赖于接口C,而不直接依赖于实现了接口C的B,也就是A不能直接控制是哪个具体实现了C的B去做相应的事情,而是由我们控制可以由哪个实现了接口C的B去处理,也就是控制反过来了,是由B来决定了,而不是由A,实现就是面向接口编程。
AOP AOP是动态代理的应用,将具体业务和相应的其它方面(比如日志,权限之类的)划分开来,业务不会知道还有没有其它的功能来辅助,需要的话我就给他加上一个配置就可以,而不用去修改业务代码。 原先是这个样子 { //日志 //权限 //业务代码 } 现在 { //业务代码 } 而权限和日志则写在其它的类advice中,只要在配置中说明在调用业务方法时(或前,或后,或别的),调用一下advice就OK了。很容易把一个方面,比如权限或日志从业务代码中剥离出来。
在SPRING中,实现AOP的流程如下:
1.定义业务接口 2.定义业务实现类 3.定义interceptor注入类 4.配置Bean,设置class为proxyFactoryBean 设置其三个属性 1.)proxyInterfaces为1 2.)interceptorNames为3 3.)target为2
分享到:
相关推荐
IOP348将I/O处理器与SAS/SATA I/O控制器集成在一个芯片上,这意味着它可以同时处理大量的输入/输出操作,并支持高速的SAS和SATA接口。这种集成设计大大提高了系统的整体性能,并减少了硬件占用的空间,降低了功耗。 ...
7. 浅析信息学竞赛中概率论的基础与应用:这篇论文可能详细探讨了概率论在编程竞赛中的应用,包括概率计算、期望值、马尔可夫链、随机化算法等。 8. 浅谈数据结构题的几个非经典解法:数据结构是算法问题中不可或缺...
本文将详细解析"8202系列的IOP运用"及其相关的编程知识,特别是与6502命令汇编语言的关联。 "IOP"全称为Input/Output Processor(输入/输出处理器),在嵌入式系统中,它是一种专门处理系统I/O操作的微控制器。在...
这是因为目标平台(IOP331)的架构与开发平台(通常是x86架构的个人电脑)不同。开发者需要在主机上配置一个能够生成适用于IOP331处理器的二进制代码的编译工具链。这通常涉及到安装特定版本的binutils、gcc和glibc...
通过以上分析可以看出,这份文档不仅涵盖了IOP接口的具体规范和技术实现细节,还提到了与之相关的软件工具(如Eclipse)的选择与配置,以及大数据处理框架(如Hadoop)的应用场景,内容丰富且实用性强。
NXP、Marvell和Broadcom等主流PHY芯片供应商的用户手册均遵循802.3bw标准,而Tier1厂商需要确保其产品在各种条件下都能正常工作,这就需要对PHY有深入的理解。 IOP测试通常包括一系列自动化测试,例如使用CANoe开发...
综上所述,这个压缩包提供了一套完整的IOP LaTeX写作模板和指南,包括了定制的文档类、样式文件、图形指南以及实例代码,旨在帮助作者按照IOP的标准格式撰写科技论文,确保最终的提交作品在格式和内容上都达到出版...
cmsdk_iop_gpio.v
### 西门子IOP-2调试手册知识点详解 #### 一、西门子IOP-2概述 西门子IOP-2(SINAMICS智能操作面板2)是一款专为驱动系统设计的高性能人机交互界面。该面板不仅支持直观的操作与监控功能,还集成了丰富的通信选项...
中国移动集中运营平台IOP系统功能介绍.pptx
标题"IOP.rar_UP_i2c"暗示了这是一个与I2C通信协议相关的项目,而"UP"可能代表更新(Update)或微处理器(microprocessor Unit)。"PICK UP LD CUR TEST JIG"的描述提到了负载电流测试夹具,这通常用于测量电子设备...
标题中的“iop_dmc_in_defs.rar_in”表明这是一个与IOP(Input/Output Processor)相关的项目,特别是针对DMC(Dynamic Memory Controller)的输入定义。这个“_in_defs”可能指的是输入接口或配置的定义文件,而“....
IOP万能导出Util.java , 可以直接跑起来使用.提供给 需要导出功能的 开发们,直接只用,节约时间.是一个单独的项目.包含了工具类,解压后可查看原码,也可直接访问页面来UI进行单独的导出数据库中的数据.
例如,它会测试ECU是否能够正确地通过网络交换数据包,并且在各种网络条件和负载下都能保持通信的稳定性和效率。IOP测试确保了车载以太网的软件和协议栈在实际操作中的兼容性以及性能。 以太网测试规范中的协议层...
Kluweronline数据库的检索方法与IOP数据库类似,仅在可检索字段上有所不同。 本资源摘要信息涵盖了CALIS平台下的四个主要数据库:Nature、IOP、RSC和Kluwer online。这些数据库提供了丰富的学术资源,为高等教育...
4. **导航功能**:在调试过程中,IOP面板的导航功能使得用户能轻松在不同的设置和功能之间切换,尤其在处理复杂的系统时,这一特性显得尤为重要。 **利用IOP面板调试G120变频器** 调试G120变频器时,IOP面板发挥了...
【IOP会议系列1】的主题聚焦于基于转移矩阵法(Transfer Matrix Method,TMM)的薄膜多层菲涅耳系数的计算,这是材料科学与工程领域的一个重要课题。菲涅耳系数描述了光线在不同介质间交互时的反射和透射情况,对于...