You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

旧版Spring框架如何通过XML配置为TestSample类创建Bean

Spring旧版本XML Bean配置方案

以下配置完全匹配你提供的两个类的注解逻辑,可直接复用:

配置说明

所有配置对应原注解的等效实现:

  • @Service 对应 <bean> 标签注册到Spring容器
  • @Autowired 构造器注入对应 <constructor-arg>,属性注入对应 <property>
  • @DependsOn("restTemp") 对应 bean标签的depends-on属性
  • @Autowired(required = false) 对应 <constructor-arg> 的required="false"属性
  • @EnableConfigurationProperties(SampleProperties.class) 对应直接注册SampleProperties到容器

完整XML配置

<?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">

    <!-- 1、基础依赖Bean注册,对应@EnableConfigurationProperties引入的配置类、公共工具类 -->
    <bean id="sampleProperties" class="替换为SampleProperties实际全限定类名"/>
    <bean id="restTemp" class="org.springframework.web.client.RestTemplate"/>
    <bean id="objectMapper" class="com.fasterxml.jackson.databind.ObjectMapper"/>

    <!-- 2、ClientService配置,对应@Service、@DependsOn、构造器注入逻辑 -->
    <bean id="clientService" class="替换为ClientService实际全限定类名" depends-on="restTemp">
        <!-- 构造器第一个参数:必填的SampleProperties -->
        <constructor-arg index="0" ref="sampleProperties"/>
        <!-- 构造器第二个参数:非必填的ObjectMapper -->
        <constructor-arg index="1" ref="objectMapper" required="false"/>
    </bean>

    <!-- 3、TestSample配置,对应@Service、属性注入逻辑 -->
    <bean id="testSample" class="替换为TestSample实际全限定类名">
        <property name="clientService" ref="clientService"/>
        <property name="restTemp" ref="restTemp"/>
    </bean>
</beans>

注意事项

如果你的项目中已经注册过restTemp、objectMapper,可删除重复的bean定义,保证id对应即可。

内容的提问来源于stack exchange,提问作者user2000189

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 15:06:02