静态方法可以调用具有非静态实例作为成员变量的静态实例吗?

时间:2020-06-26 08:41:25

标签: java spring static

假设我有这些课程:

(module1)
class UtilImpl {
    private ConfigService configService; // DI

    public void setConfigService(ConfigService configService) {
        this.configService = configService;
    }

    public void process(){
        // do something by using configService
    }
}

(module2)
class Myclass {
  private static Util util;
 
  public void setUtil(Util util) {
    this.util= util;
  }

  public static myMethod(){
    util.process();   // got nullpointer exception!!
  }
}

我在module2中有一个module-context.xml:

<bean id="util"
        class="com.my.service.UtilImpl">
        <property name="configService" ref="configService" />
    </bean>

<bean id="configService"
        class="com.my.service.ConfigServiceImpl">
    </bean>

然后我在util.process()上得到了空指针异常。 我该如何摆脱呢?我猜这是一个导致此问题的“静态”关键字。但我不知道确切原因。有人可以帮助我吗?

0 个答案:

没有答案
相关问题