Spring关于IOC,DI,AOP的一点理解
1.Spring IOC
Spring IOC主要用来降低程序间的耦合性,在不用Sping框架时,我们为了解决程序间的耦合问题,即尽量减少使用new 来创建对象,可以利用工厂模式来减耦,通过将对象的创建全部交给工厂类,工厂类中的某个方法通过读取配置文件properties,将对象创建出来并且存入Map容器中,其他类需要使用到某个对象直接到容器中去取,降低耦合性的例子还要还有JDBC注册驱动类的两种方法,一个是DriverManager.registerDriver(new Driver()),另一个是class.forName("com.mysql.jdbc.driver")利用反射来注册,有效的降低了耦合性,Spring 基于此,利用IOC将对象创建的权力交给Spring,某个类需要哪个对象直接到Spring容器中去取即可,这也就是控制反转。
2.Spring DI
Spring DI,也就是依赖注入,容器在运行时直接将某个类需要用到的一些其他对象提供给他。
3.Spring AOP
在程序的service层经常会用到一些大量重复的代码,例如为了保证数据库事务的一致性,我们需要在调用数据库CRUD方法前后加上一些有关事务的代码,还比如日志,在方法前后也加入,这样使得程序很复杂,也不便于维护,例如事务类的某个方法改变(autocommit,commit,rollback,close),需要改变service的方法太多,以前我们为了解决这种情况,通过实现代理类,代理类的实现方法有两种,一个是基于接口的实现类,代理对象通过Proxy.newInstance(xx.getClass().getClassLoader,xx.getClass().getInterfaces,new InvoationHander(){
}} 通过加强内部类的invoke方法来实现,还有一种是基于子类的实现,代理对象通过Enhancer.create(
[code]producer.getClass(), new MethodInterceptor(){}来实现,注意内部类访问外部对象需要将外部对象设置为final,spring AOP基于动态代理技术实现他的面向切面编程
另外aop中的环绕通知实现有点类似于简化版的代理类
- Spring特点中关于DI,IOC及AOP的个人理解
- Spring特点中关于DI,IOC及AOP的理解
- Spring特点中关于DI,IOC及AOP的个人理解
- Spring IoC,DI,AOP的一点理解
- Spring的IoC DI和AOP理解
- 理解Spring的AOP和Ioc/DI就这么简单
- ######【spring属性注入(Ioc的DI)总结】:注解方式属性注入,属性名任意.=for理解:Aop注入代理对象时,注入被增强类对象时,属性名为proxy(自定义)。
- 关于Spring IOC的一点个人理解
- 关于Spring-mvc的机制以及Ioc、DI的理解
- spring IOC AOP DI的理解
- 关于Spring-IOC/DI创建对象的理解
- 对spring的DI,IOC, AOP概念的理解
- 关于spring中aop实现机制中动态代理的一点理解
- Spring核心概念理解-IoC容器、DI、AOP
- 对于Spring中AOP,DI,IoC概念的理解
- spring面试之关于AOP和DI的理解
- 关于对Spring中IOC与AOP的理解
- 对Spring的 IOC DI AOP的理解
- 关于Spring 的IOC 和 DI 的理解
- spring的IOC,DI,AOP理解