Spring IoC/DI 12-混合配置注入 Bean

本文介绍如何在Spring框架中结合使用Java配置和XML配置来注入Bean。通过@ImportResource注解,可以在Java配置类中导入XML配置文件,实现两种配置方式的共存。示例代码展示了UserJava和UserXml两个类分别通过Java配置和XML配置被注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

混合配置注入 Bean

一般情况下,注入 Bean 的方式,不是通过 XML 配置,就是通过 Java 配置,如果想要同时将两种配置生效(即混合配置),则需要在 Java 配置中通过 @ImportResource 注解导入 XML 配置,应用时通过 Java 配置获取 Bean,此时 Java 配置和 XML 配置的 Bean 都可以获取到。

示例

UserJava.java --> 通过 Java 配置注入 Bean

public class UserJava {
    @Override
    public String toString() {
        return "UserJava{}";
    }
}

UserXml.java --> 通过 XML 配置注入 Bean

public class UserXml {
    @Override
    public String toString() {
        return "UserXml{}";
    }
}

applicationContext.xml --> XML 配置,只注入了 UserXml 的 Bean

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean class="org.daistudy.bean.UserXml" id="userXml"/>
</beans>

JavaConfig.java --> Java 配置,只注入了 UserJava 的 Bean,但通过 @ImportResource 注解导入 XML 配置

@Configuration
@ImportResource({"classpath:applicationContext.xml"})
public class JavaConfig {

    @Bean
    UserJava userJava(){
        return new UserJava();
    }
}

应用 --> Java 配置和 XML 配置的 Bean 都可以获取到

public class Test {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);
        UserJava userJava = (UserJava) context.getBean("userJava");
        System.out.println(userJava);
        UserXml userXml = (UserXml) context.getBean("userXml");
        System.out.println(userXml);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值