在JavaConfig中引用XML配置

现在, 我们临时假设CDPlayerConfig已经变得有些笨重, 我们想要将其进行拆分。 当然, 它目前只定义了两个bean, 远远称不上复杂的Spring配置。 不过, 我们假设两个bean就已经太多了。
我们所能实现的一种方案就是将BlankDisc从CDPlayerConfig拆分出来, 定义到它自己的CDConfig类中, 如下所示: 
    
compactDisc()方法已经从CDPlayerConfig中移除掉了, 我们需要有一种方式将这两个类组合在一起。 一种方法就是
在CDPlayerConfig中使用@Import注解导入CDConfig :
    
或者采用一个更好的办法, 也就是不在CDPlayerConfig中使用@Import, 而是创建一个更高级别的SoundSystemConfig, 在这个类中使用@Import将两个配置类组合在一起: 
    
不管采用哪种方式, 我们都将CDPlayer的配置与BlankDisc的配置分开了。 现在, 我们假设(基于某些原因) 希望通过XML来配置BlankDisc, 如下所示: 
    
现在BlankDisc配置在了XML之中, 我们该如何让Spring同时加载它和其他基于Java的配置呢?
答案是@ImportResource注解, 假设BlankDisc定义在名为cd-config.xml的文件中, 该文件位于根类路径下, 那么可以修
改SoundSystemConfig, 让它使用@ImportResource注解, 如下所示: 
    
两个bean——配置在JavaConfig中的CDPlayer以及配置在XML中BlankDisc——都会被加载到Spring容器之中。 因为CDPlayer中带有@Bean注解的方法接受一个CompactDisc作为参数, 因此BlankDisc将会装配进来, 此时与它是通过XML配置的没有任何关系。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值