首页 > 编程知识 正文

spring含义,springaop理解

时间:2023-05-03 10:53:25 阅读:22974 作者:2377

IOC和AOP是Spring中的两个核心概念,现将对这两个概念的理解阐述如下。

1 .控制项反向(IOC ) :控制项反向也称为相依反向。

依赖是指,从程序的角度来看,例如如果a调用b的方法,则a依赖于b,反正a使用b,则a依赖于b。 倒置,就是要明白必须倒置会怎么样。 因为a必须有b才能呼叫b。 如果不倒置,就意味着a会积极获取b的实例。 b b=新b ) )。 这是最容易获取b实例的方法。 (当然,有工厂和定位器等各种各样的设计模式。 ) )然后,可以获取b对象。 因此,不倒置意味着a必须积极获取b才能使用b,到此为止,应该就明白倒置的意义了。 倒置是指,如果a呼叫b,a就不需要自己得到b,别人会自动送b回家。

图像示例如下

通常,如果你有一天在家口渴,想喝水,你可以去你小区的小卖部,告诉他们你需要水,小卖部会给你水! 这本来就不是大问题。 重要的是如果小卖部离得很远,你必须知道。 从你家去小卖部的方法; 小卖部是否有需要的水; 也许有太多必须考虑的问题,比如要不要开车去。 也就是说,为了一瓶水,可能需要依赖汽车等交通工具或其他工具。 问题是不是变得复杂了? 那么如何解决这个问题呢?

解决这个问题的方法很简单。 小卖部提供快递服务。 如果是小卖部的会员,请告诉我小卖部需要什么。 小卖部自己送行李。 这样,只有做两件事,才能活得更轻松。

第一、注册小卖部为会员。

第二,请告诉我小卖部需要什么。

这和Spring的做法很相似! Spring是小卖部,你是a对象,水是b对象

第一,在Spring中声明类。 a

第二,告诉Spring,a需要b

假设a是UserAction类,b是uservice类

bean id=' userservice ' class=' org.leadfar.service.userservice '/bean id=' documentservice ' class=' org.le addd bean id=' org服务' class=' org.leadfar.service.org service '/bean id=' useraction ' class=' org.leadfar.www

Spring这家店(工厂)只要声明uservice、documentService、orgService、userAction等userAction需要uservice即可,称为Spring

package org.leadfar.web; 公共类用户服务{私有用户服务服务; 公共字符串登录in ((userservice.valifyuser ) XXX; } publicvoidsetuserservice (userservice ) { this.userService=userService; }

此代码不需要自己创建UserService对象。 ((Spring作为看不见的手,定义了UserService对象的setUserService () ) ) ) ) )是的,当然,使用注释Spring依赖注入的实现技术是动态代理2. AOP :即面向切片的编程

切面编程的目标是分离关注点。 关注点是什么? 你要做的事。 是关注点。 如果你是少爷,没有什么人生目标,每天衣服伸手,饭张口,整天只知道一件事! 那么,我每天醒来,都想着吃完饭去玩。 但是在玩之前,你需要穿衣服,穿鞋子,叠被子,做饭。 这些事情很引人注目,我想吃完饭再玩。 我该怎么办? 这些事情都交给别人去做。 去餐桌之前,专用的fndhbA会给你穿衣服。 fndhbB会给你穿鞋子。 FND汇丰会帮我叠被子。 FND汇丰给我做饭。 然后吃饭和出去玩。 你是一天的工作。 下班后回来,一连串的FND汇丰会帮你做这件事。 然后,你又开始工作了

AOP的好处是,只要你做正确的事,其他的事情别人就会做。 如果有一天你想裸奔,不想穿衣服,也许你可以解雇fndhbA。 如果有一天你想在出门前把钱带走,请再雇一个FND硬盘帮你取钱。 这就是APP。 每个人各尽其职,灵活组合,实现可配置、可插拔的流程结构。 从Spring的角度看,AOP的最大用途是提供事务管理能力。 事务管理是一个关注点,你的工作是访问数据库,你不想管理事务。 所以,Spring会在您访问数据库之前自动打开事务,在jwdxy访问数据库之后自动提交/回滚事务。

http://www.Sina.com/http://www.Sina.com /

---乐于分享,共同进步!

-----更多文章: http://blog.csdn.net/eson_15

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。