注入AspectJ切面

如果在执行通知时,切面依赖一个或多个类,我们可以在切面内部实例化这些协作的对象。但更好的方式是,借助Spring的依赖注入把bean装配到AspectJ期末中。
通常情况下,Spring bean由Spring容器初始化,但是Aspect切面是由AspectJ在运行期创建的。等到Spring有机会为Aspect注入bean时,Aspect已经被实例化了。
因为Spring不能负责创建Aspect,那就不能在Spring中简单地把创建的Aspect声明为一个bean。相反,我们需要一种方式为Spring获得已经由AspectJ创建的Aspect实例的句柄,从而可以注入bean。
幸好,所有的AspectJ切面都提供了一个静态的aspectOf()方法,该方法返回切面的一个单例。简而言之,Spring不能像之前那样使用< bean >声明来创建Aspect实例——它已经在运行时由AspectJ创建完成了。Spring需要通过aspectOf()工厂方法来获得切面的引用,然后像< bean >元素规定那样在该对象上执行依赖注入。

<bean class="...Aspect" factory-method="aspectOf">
	<property name="xxxbean" ref="xxxbean" />
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值