Spring 依赖注入怎么回事,还有面向方面编程是怎么回事

 我来答
mikemelon
推荐于2016-07-07 · TA获得超过4594个赞
知道小有建树答主
回答量:1261
采纳率:0%
帮助的人:1575万
展开全部
依赖注入,也称反转控制,IoC, DI,这些都是一回事,简单说起来就是Spring提供了一个Java Bean的处理器,通过读取xml配置文件或注解(Annotation)来自动为你需要的的接口类型,实例化(也就是新建)对象,这样你的代码就不需要针对具体对象编程,而是抽象成接口来编写,实现部分可以与抽象部分分开,便于分层,并随时替换实现方式,这也叫做注入。

面向方面编程,实际应该叫AOP,面向切面编程,这是Spring容器的另一大功能,它可以通过反射技术为你已经写好的代码自动加上一些通用功能,也是通过通过读取xml配置文件或注解(Annotation)为依据来进行反射实现的,用到了JDK的反射或CGLib的反射,能够对方法的不同部分(如前置,后置,抛出异常,环绕等)加入代码,一般用于数据库的事务处理(数据库更新类事务前后一般要加beginTransaction, endTransaction之类的代码)或日志处理等等。
jjy353
2011-10-28
知道答主
回答量:6
采纳率:0%
帮助的人:3.7万
展开全部
先说IoC(控制反转),DI(依赖注入):我说的通俗一点,具体含义楼下已经给出。这两个其实是同一个概念,DI举个例子有个User类,还有个teacher类,在teacher类中要引用user对象,你要用new User出一个user对象吧,而DI就不需要new一个对象,在sring中就可初始化这user类,在注入teacher类中。IoC就是说原本有程序控制在teacher类中new 一个user对象,而现在由spring注入进去,控制权交给了spring容器来管理,就是IoC.
你说的面向方面编程:就是AOP面向切面编程。打个比方。你现在有一个dao类,要向数据库中插入数据,然后我要在插入之前记入一下时间。这个原理就是JDK中动态代理。处理器类就相当于要加进去的切面类的逻辑。就是说在你执行原本dao时这切面不会影响到原本的程序逻辑,这样业务逻辑就和事物分离开了。我说的也不清楚,了解动态代理你就明白了,AOP的原理就是动态代理。查文档proxy和invokeationHandle。打了我累死了,看看吧。别浪费别人时间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西紅柿他老豆
2011-11-10
知道答主
回答量:35
采纳率:0%
帮助的人:24.5万
展开全部
楼上的说明都有了。只要spring还是用来解耦合。用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式