注入非Spring bean

在程序中,并非所有的对象都是有Spring创建的。我们如何利用Spring的功能将配置从代码中分离出来,而不是在程序中硬编码?

首先,我们在Spring配置文件中声明一个抽象bean,意在告诉Spring容器,该bean不需要由容器创建:

其次,用@Configurable去修饰pojo

@Configurable("bean id")

public class Instrumentalist implements Performer{
...
}

 

表示Instruments实例即使是在Spring外创建,仍然可以由Spring进行配置。

把Instruments类与bean id关联起来。

最后,还需要在Spring配置中添加如下内容:

<aop:spring-configured/> 它负责告诉Spring有一些Bean需要进行配置,包括在其他地方创建的Bean。

从底层来说,<aop:spring-configured/>创建了一个AspectJ切面,它的切点会在具有@Configurable修饰符的Bean实例化时被触发。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值