Spring的IOC,AOP,DI介绍

Spring IOC

  • IOC(Inversion of Control,控制反转)意思:是控件反转也就是由容器控制程序之间的关系,把控件权交给了外部容器,从程序代码直接操控,到控制权交给外部容器管理,控制权的转移是所谓反转
  • IOC的三种注入方式:
  1. 接口注入:如果采用接口注入一个Bean,那么通过注入的Bean就必须要实现这个接口(这很霸道对不对,我想实现什么接口,还需要规定)...
  2. set方法注入:如果采用set注入一个Bean,那么只需要为Bean中所需要的一些组件提供set方法就可以,通过set方法注入比较清晰,大家一看就知道(哦~原来你想这个Bean提供了这些组件)...
  3. 构造器注入:如果采用构造器注入方式,那么首先为这个Bean提供自定义的构造函数,构造函数中需要的参数就是类中的组件实例。

Spring DI

  • DI的意思:DI(Dependency Injection,依赖注入) 侧重于过程, 把对象通过setter、contruct、args等方式 注入到另一个对象中作为这个对象的一个成员变量

Spring Aop

  • AOP为(Aspect Oriented Programming,面向切面编程):AOP可以对业务逻辑 的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高 了开发的效率。
  • AOP的基本概念
  1. Aspect(切面):通常是一个类,里面可以定义切入点和通知
  2. JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用
  3. Advice(通知):AOP在特定的切入点上执行的增强处理,有before,after,afterReturning,afterThrowing,around
  4. Pointcut(切入点):就是带有通知的连接点,在程序中主要体现为书写切入点表达式
  5. AOP代理:AOP框架创建的对象,代理就是目标对象的加强。Spring中的AOP代理可以使JDK动态代理,也可以是CGLIB代理,前者基于接口,后者基于子类

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是关于Spring IOC(控制反转)和AOP(面向切面编程)的一些常见面试题及其答案: 1. 什么是SpringIOC(控制反转)? 答:IOC是一种设计模式,它将对象的创建、依赖注入和生命周期管理等任务交给了容器来完成,而不是由开发者手动管理。在Spring中,IOC通过使用依赖注入(DI)实现,即容器负责创建和管理对象,并将依赖关系注入到对象中。 2. 什么是SpringAOP(面向切面编程)? 答:AOP是一种编程范式,它通过将横切关注点(如日志记录、事务管理等)与核心业务逻辑分离,实现了代码的模块化和可重用性。在Spring中,AOP通过代理机制实现,开发者可以通过配置或注解将切面逻辑织入到目标对象的方法中。 3. Spring IOC的优点是什么? 答:Spring IOC的优点包括: - 降低了代码的耦合性,提高了代码的可维护性和可测试性。 - 提供了更好的扩展性和灵活性,可以通过配置文件或注解来管理对象的创建和依赖。 - 实现了面向接口编程,使得代码更易于理解和重构。 4. Spring AOP的应用场景有哪些? 答:Spring AOP可以应用于以下场景: - 记录日志:通过AOP可以在方法调用前后记录日志信息。 - 事务管理:通过AOP可以在方法执行前后管理事务的开启、提交或回滚。 - 性能监控:通过AOP可以在方法调用前后进行性能监控和统计。 - 安全检查:通过AOP可以在方法执行前进行权限验证和安全检查。 5. Spring AOP的实现方式有哪些? 答:Spring AOP提供了基于代理的实现方式和基于字节码增强的实现方式。基于代理的实现方式主要使用JDK动态代理或CGLIB代理来生成代理对象;而基于字节码增强的实现方式使用AspectJ框架来进行字节码的修改和增强。 这些是关于Spring IOCAOP的一些常见面试题及其答案。希望对你有所帮助!如果你还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值