Spring DI 和 AOP 基础

Spring配置的三种可选方案:

  • XML显式配置
  • Java中显式配置
  • 使用注解隐式bean发现和自动装配

建议优先使用注解自动装配,而后用Java配置补充。

高级装配技术:
@Profile:能够通过设置Profile的激活状态,选择创建bean。常用于解决生产,测试,发布时,注入对象的差异问题。
@Conditional:条件化bean。只有条件为true时才会创建对象。

自动装配的歧义性:
@Primary:标志首选的bean。
@Qualifier:限定自动装配的bean。

bean的作用域:

  • 单例(Singleton)
  • 原型(Prototype):每次注入或者通过上下文获取时,都会创建一个新的bean实例。
  • 会话(Session)
  • 请求(Rquest)

使用@Scope改变作用域。需要注意在会话和请求作用域中,常使用作用域代理(proxyModel)。

运行时注入:解决硬编码问题。有两种方式:属性占位符${ }和SpEL。

AOP:面向切面编程。
基本术语:

  • 通知(Advice):Before,After,After-return,After-throwing,Around。
  • 连接点(Join point)
  • 切点(Pointcut)
  • 切面(Aspect)
  • 引入(Introduction)
  • 织入(Weaving)

AOP的应用有两个方面,一个是对现有方法的增强。还有一个是可以对现有类添加新的方法,从而引入新功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值