disconf bean注入

本文介绍如何使用Disconf进行配置管理,包括配置文件的创建、关键系统参数的设置及通过XML注入配置到Spring Bean的过程。

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

disconf后台配制所需要系统参数
建一个key名称为cat-test.properties,里边配制相关自定义的系统参数键值对

disconf.properties

conf_server_host=10.2.81.26:8286
version=1.6.6
debug=true

disconf.xml

    <bean id="disconfMgrBean" class="com.baidu.disconf.client.DisconfMgrBean" destroy-method="destroy">
    </bean>

    <bean id="disconfMgrBean2" class="com.baidu.disconf.client.DisconfMgrBeanSecond" init-method="init" destroy-method="destroy" />

    <bean id="disconfConfigProperties"
          class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>classpath:/cat-test.properties</value>
            </list>
        </property>
    </bean>

    <bean id="propertyConfigurer"
          class="com.baidu.disconf.client.addons.properties.ReloadingPropertyPlaceholderConfigurer">
        <property name="ignoreResourceNotFound" value="true" />
        <property name="ignoreUnresolvablePlaceholders" value="true" />
        <property name="propertiesArray">
            <list>
                <ref bean="disconfConfigProperties"/>
            </list>
        </property>
    </bean>

disconf 配制注入bean的方式

<bean id="testDisconf" class="com.meizu.spring.data.TestBean">
        <property name="s" value="${catList}" />
    </bean>
<think>嗯,用户问的是关于Bean注入的ref,这应该是Spring框架里的内容吧。首先,我得回忆一下Spring中的依赖注入机制。Bean注入通常有两种方式,通过构造器或者setter方法,而ref属性应该是在XML配置中用来引用其他Bean的。 用户可能是刚开始学习Spring,对依赖注入的概念还不熟悉,或者在使用XML配置时遇到了问题。需要先解释清楚什么是Bean注入,然后引入ref的作用。可能需要比较ref和value的区别,这样用户能更清楚什么时候用哪个。 记得要分步骤说明,比如先讲Bean注入的基本概念,再讲XML配置中的ref用法,可能还要提到注解方式如@Autowired和@Resource,但用户特别问的是ref,所以重点在XML部分。还要注意举例说明,这样用户更容易理解。 另外,用户可能想知道在实际应用中如何使用ref,有没有需要注意的地方,比如循环依赖的问题。这时候需要简单提一下,但不用深入,避免让用户感到困惑。最后,总结一下ref的用途和重要性,确保用户理解它在依赖注入中的作用。</think>在 Spring 框架中,`ref` 是用于 **Bean 依赖注入** 的重要属性,主要用于 XML 配置文件中表示对其他 Bean 的引用。以下是分步说明: --- ### 1. 核心概念 - **Bean 注入**:将对象(Bean)的依赖关系交给 Spring 容器管理 - **`ref` 的作用**:指向容器中已存在的另一个 Bean 实例(而非直接创建新对象) --- ### 2. 典型使用场景 #### XML 配置示例: ```xml <!-- 定义数据源 Bean --> <bean id="dataSource" class="com.example.DataSource"/> <!-- 在 DAO 中注入 dataSource --> <bean id="userDao" class="com.example.UserDao"> <property name="dataSource" ref="dataSource"/> </bean> ``` --- ### 3. `ref` vs `value` | 属性 | 用途 | 示例 | |----------|------------------------|--------------------------| | `ref` | 引用其他 Bean 实例 | `<property name="service" ref="userService"/>` | | `value` | 注入基本类型/字符串值 | `<property name="timeout" value="5000"/>` | --- ### 4. 其他注入方式对比 #### (1) 构造器注入 ```xml <bean id="userService" class="com.example.UserService"> <constructor-arg ref="userDao"/> </bean> ``` #### (2) 注解方式(现代常用) ```java @Autowired private UserDao userDao; ``` --- ### 5. 注意事项 - 被引用的 Bean 必须已定义(存在对应 id/name) - 避免循环引用(A 依赖 B,B 又依赖 A) - XML 方式需保持类型兼容性 --- ### 总结 `ref` 是实现 **Bean 间解耦** 的关键机制,通过引用容器中现有对象实现依赖注入。现代 Spring 开发更推荐使用注解方式(如 `@Autowired`),但理解 `ref` 的底层原理对维护遗留系统非常重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值