spring中xml文件配置的参数拿不到

这是spring的xml配置文件

<bean id="zookeeperService"
        class="test.service.ZookeeperService">
        <property name="zookeeperHost" >
            <value>127.0.0.1</value>
        </property>
        <property name="zkPath" >
            <value>/limit_02</value>
        </property>
        <property name="applicationName" >
            <value>lbx</value>
        </property>
    </bean>

    <bean id="limitService"
        class="test.service.LimitService">
        <property name="url" >
            <value>http://127.0.0.1</value>
        </property>
    </bean>
    

这是ZookeeperService ,应用启动的时候会走这里加载zookeeper一些配置这里就能拿到参数,但是afterPropertiesSet这个方法不知道为什么会运行两次,第二次这些zkPath,applicationName,zookeeperHost就为null了

@Service
public class ZookeeperService implements InitializingBean {

    private String zkPath;
    private String applicationName;
    private String zookeeperHost;
    public void afterPropertiesSet() throws Exception {
        init();
        setActionInfo();
        initZkWatcher();
    }
    public String getZookeeperHost() {
        return zookeeperHost;
    }

    public void setZookeeperHost(String zookeeperHost) {
        this.zookeeperHost = zookeeperHost;
    }

    public String getApplicationName() {
        return applicationName;
    }

    public void setApplicationName(String applicationName) {
        this.applicationName = applicationName;
    }

    public String getZkPath() {
        return zkPath;
    }

    public void setZkPath(String zkPath) {
        this.zkPath = zkPath;
    }
}

这是LimitService,程序运行到这里url就为null,拿不到不知道为什么

@Service
public class LimitService{
    private String url= null;
    public Map<String, Object> rateLimitAction(String actionName, String userCode) {
    Map<String, Object> reMap = new HashMap<String, Object>();
    paramMap.put("serverUrl ", url);
    return reMap;
}

    public String getRateLimitServerUrl() {
        return rateLimitServerUrl;
    }
    
    public void setRateLimitServerUrl(String rateLimitServerUrl) {
        this.rateLimitServerUrl = rateLimitServerUrl;
    }
}
阅读 2.3k
1 个回答

xml配置了一次,@Service又配置了一次。并且@Service配置的时候,属性也没有注入,当然就是null了。xml和注解使用其中一个就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题