旧版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
相关产品推荐
相关产品推荐

