class ConfigurationDetails {
private @Resource String esHostURL;
private @Resource int maxMessageCounter;
private @Resource String queueName;
// Assume : This class has all getter and setter methods and a default constructor
}
另一个班级
public class SpringMessageListener implements MessageListener {
@Resource ConfigurationDetails configDetails; // With getter and setter method for this
............
..........
在我的 XML
<bean id="aListener" class="com.vzw.es.cosumer.SpringMessageListener" autowire="byName"/>
<bean id="configDetails" class="com.vzw.es.pojo.ConfigurationDetails" autowire="byName">
<property name="esHostURL" value="http://obsgracstg-db0.odc.vzwcorp.com:9200"/>
<property name="maxMessageCounter" value="500"/>
<property name="queueName" value="ES_queue"/>
</bean>
现在,当我调试代码并看到 SpringMessageListerner 类中的 configDetails 显示为 null 时,具有 id configDetails 的 bean 没有自动装配含义。但是当我明确执行 appContext.getBean("configDetails") 时,它给了我非空对象。
为什么自动装配不起作用?我错过了什么吗?