Spring中IOC和AOP的理解说明
2017-08-10 16:46
253 查看
IOC说明:
ioc:依赖注入,依赖倒置。
例子说明
以买东西的例子来说明ioc的理解。 比如你要去一个超市买水。这里把你看作是类A,水看成是类B,超市看成是Spring。如果超市离得近的话,你可以直接去买水,就好比是直接把B对象给你类A了用代码表示为: class A{ B b = new B(); } 当然这也是可以得。但是如果超市离得比较远的话,你是不是要依赖于骑个车等工具去买水;但是如果超市提供上门服务直接把水送到你面前岂不是更好。这个就是spring提供的ioc来把B对象直接送到你面前。代码体现: 假设A为userAction ,B 为userService; <bean id="userService" class="org.leadfar.service.UserService"/> <bean id="documentService" class="org.leadfar.service.DocumentService"/> <bean id="orgService" class="org.leadfar.service.OrgService"/> <bean id="userAction" class="org.leadfar.web.UserAction"> <property name="userService" ref="userService"/> </bean>
在这段代码里面,你无需自己创建UserService对象(Spring作为背后无形的手,把UserService对象通过你定义的setUserService()方法把它主动送给了你,这就叫依赖注入!)
public class UserAction{ private UserService userService; public String login(){ userService.valifyUser(xxx); } public void setUserService(UserService userService){ this.userService = userService; } }
AOP
再说说AOP,即面向切面编程,面向切面编程的目标就是分离关注点。 什么是关注点呢,就是你要做的事,就是关注点。假如你是个公子哥, 没啥人生目标,天天就是衣来伸手,饭来张口,整天只知道玩一件事! 但是在玩之前,你还需要穿衣服、穿鞋子、叠好被子、做饭等等等等事情, 这些事情就是你的关注点,但是你只想吃饭然后玩,那么怎么办呢? 这些事情通通交给别人去干。在你走到饭桌之前,有一个专门的仆人A帮你穿衣服, 仆人B帮你穿鞋子,仆人C帮你叠好被子,仆人C帮你做饭,然后你就开始吃饭、去玩(这就是你一天的正事), 你干完你的正事之后,回来,然后一系列仆人又开始帮你干这个干那个,然后一天就结束了! AOP的好处就是你只需要干你的正事,其它事情别人帮你干。也许有一天,你想裸奔,不想穿衣服, 那么你把仆人A解雇就是了!也许有一天,出门之前你还想带点钱,那么你再雇一个仆人D专门帮你干取钱的活! 这就是AOP。每个人各司其职,灵活组合,达到一种可配置的、可插拔的程序结构。 从Spring的角度看,AOP最大的用途就在于提供了事务管理的能力。 所以,Spring在你访问数据库之前,自动帮你开启事务,当你访问数据库结束之后, 自动帮你提交/回滚事务!
相关文章推荐
- Spring面试,IoC和AOP的理解
- Spring面试:IOC和AOP的理解
- 深入理解Spring的两大特征(IOC和AOP)
- Spring之IOC、AOP的理解
- spring学习笔记-- aop及ioc的理解
- Spring面试:IOC和AOP的理解
- Spring 中对IOC,AOP的理解
- 学习AOP之透过Spring的Ioc理解Advisor
- 深入理解Spring的两大特征(IOC和AOP)
- Spring AOP详解 (转) 以及IOC(个人理解)
- Spring面试,IoC和AOP的理解
- Spring特点中关于DI,IOC及AOP的理解
- Spring中IOC与AOP的理解
- 理解Spring中的IOC和AOP
- Spring面试:IOC和AOP的理解
- Spring面试,IoC和AOP的理解
- 深入理解Spring的两大特征(IOC和AOP)
- Spring特点中关于DI,IOC及AOP的个人理解
- 深入理解Spring的两大特征(IOC和AOP)
- 深入理解Spring的两大特征(IOC和AOP)