gpt4 book ai didi

java - 使用 spring Autowiring 从 java 中的静态类调用非静态方法?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:47:42 25 4
gpt4 key购买 nike

我有以下接口(interface)及其实现类。

演示.java

public interface Demo{

void showDemo();

}

DemoImpl.java

@Service
public class DemoImpl implements Demo{

public void showDemo(){

//To Do

}

}

现在我有一个带有静态方法的类,它将在内部调用 showDemo(),如下所示。

DemoStatic.java

@Component
public class DemoStatic{

@Autowired
private Demo demo;



public static void callShowDemo(){

demo.showDemo(); //calling non static method from static method

}

}

这里我从静态方法调用非静态方法。我的设计正确吗?或者我需要改变我的设计吗?请给我建议。

谢谢!

最佳答案

你可以这样做

@Component
public class DemoStatic {

private static Demo demo;

@Autowired
public void setDemo(Demo d) {
demo = d;
}

public static void callShowDemo(){
demo.showDemo(); //calling static method from static method
}

}

关于java - 使用 spring Autowiring 从 java 中的静态类调用非静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19946852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com