Spring框架的IoC和AOP
答:
IoC:控制反转,在现在的开发中,如果想建 立对象并设置属性,是需要先new对象,再通过setter或构造方法设置属性。而使用Spring的IoC后,则是先通过配置声明属性的值或关系,再通过Spring框架建立对象,建立好的对象中就自动设置好了配置的属性。此功能可以替代工厂类。在IoC 中还提出了DI(依赖注入),表示将一个Spring中配置好的类,设置到另一个Spring配置的类中,作为属性使用。//实现的原理仍然是使用反射,仍然是先建立对象再设置属性。工厂类的缺点是写一个实现类就要加一个方法。,这是宣传的缺点。Spring的缺点是Java类可以不必写了,但配置文件反而比较多了。
AOP:面向切面编程,特点是在不修改原有代码的基础上,为项目加入一个新的功能。Filter过滤器就是一个典型的AOP设计。Spring中则是使用Interceptor拦截器来实现动态代理设计的功能//代理是指代理设计模式,java的23中设计模式之一。在这里主要实现的就是连接的关闭,以及事务的提交和回滚操作,使用这个AOP的功能后,Service的实现类中就不再需要自己编写try…catch…finallly等操作,由Spring自动完成。