动态代理和IOC和AOP

1.动态代理

动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是目标对象方法的增强方法。可以理解为运行期间,对象中方法的动态拦截,在拦截方法的前后执行功能操作。

代理类在程序运行期间,创建的代理对象称之为动态代理对象。这种情况下,创建的代理对象,并不是事先在Java代码中定义好的。而是在运行期间,根据我们在动态代理对象中的“指示”,动态生成的。也就是说,你想获取哪个对象的代理,动态代理就会为你动态的生成这个对象的代理对象。动态代理可以对被代理对象的方法进行功能增强。有了动态代理的技术,那么就可以在不修改方法源码的情况下,增强被代理对象的方法的功能,在方法执行前后做任何你想做的事情。
案例

先创建一个实体类

然后再创建一个接口 

 定义代理类并执行

 AOP

AOP就是面向切面编程,或者叫面向方面编程,或者开玩笑的说叫面向方便面编程

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当谈到Spring框架的面试题时,Spring AOPIOC是两个常见的话题。下面是一些可能的面试问题和答案: 1. 什么是Spring AOP? Spring AOP是一种基于面向切面编程(AOP)的技术,它允许开发人员在应用程序中定义横切关注点,并将它们与应用程序的业务逻辑相分离。通过将这些横切关注点(例如日志记录、事务管理等)从核心业务逻辑中提取出来,可以实现更好的模块化和可维护性。 2. Spring AOP的工作原理是什么? Spring AOP通过使用代理模式在运行时为目标对象动态地创建代理对象来实现横切关注点的功能。当调用目标方法时,代理对象会在执行前、执行后或异常发生时插入相关的横切逻辑。 3. Spring IOC是什么意思? Spring IOC(控制反转)是一种设计模式,它将对象的创建和依赖关系的管理从应用程序代码中解耦出来,交由框架来完成。通过IOC容器,可以通过配置文件或注解方式来定义对象之间的依赖关系,Spring容器负责创建、装配和管理这些对象。 4. Spring IOC的优势是什么? 使用Spring IOC可以实现松耦合的设计,从而提高代码的可维护性和可测试性。它还提供了更好的可扩展性,通过配置文件或注解方式,可以方便地修改对象的依赖关系而无需修改代码。此外,Spring IOC还可以通过依赖注入的方式简化对象之间的协作。 5. Spring AOPIOC之间有什么关系? Spring AOP是Spring框架的一个重要模块,它通过IOC容器来管理和应用横切关注点。在Spring中,AOP是建立在IOC的基础上的,通过IOC容器的支持,可以方便地在应用程序中应用AOP功能。 请注意,这些问题只是众多可能的面试问题中的一部分,面试官可能会根据他们的需求提出更具体的问题。为了取得良好的面试成绩,建议您深入了解Spring AOPIOC的概念、工作原理以及在实际项目中的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值