您的位置:首页 > 编程语言 > Java开发

spring IOC和AOP的原理

2010-11-13 10:51 351 查看

 

 

spring依赖注入:依赖注入其实就是控制反转,它分为构造方法注入,set方法注入,接口注入,我们最常用的就是set方法注入。
举个例子说明一下,我们在用spring时用xml配置的方式的话,都是将bean配置在spring中,也有bean的property属性。spring容器在初始化时就通过反射将容器中的bean实例化,假如bean配置中有property属性,就会反射property属性注入到bean中。这就是依赖注入。

 

spring AOP:AOP就是面向切面编程。它主要运用了jdk动态代理中的Proxy类和InvicationHandler接口实现。举例简单来说假如想要在原来的目标类的前后要加入日志的功能,目标类一定要实现一个接口,如果没有实现接口,spring就会用cglib包实现AOP。推荐的还是要实现一个接口。实现过程大概就是实现了一个InvicationHandler接口的方法,里边有一个属性是目标类,在invoke方法中利用反射执行目标类的方法,并在其前后加入日志的方法。然后将目标类的类加载器,目标类实现的接口和实现了InvicationHandler接口的方法传入到Proxy的newProxyInstance方法中。这样就实现了AOP。这样的话我们就可以在不修改任何代码的情况下在任何目标类中都可以动态的加入记日志的功能。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: