如何在Spring中从另一个类访问变量

时间:2014-12-21 16:42:00

标签: java spring javafx

我试图通过Spring中的自动装配从另一个类访问变量,但我得到一个空指针。我唯一能做的就是将它新实例化为静态。有没有办法可以在非静态环境中访问它(变量) - 可能像自动装配一样?

通过静态:

@Component
@Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
public class ClassWhereVariableIsNeeded {

    public static void setViews(Views aViews) {
        views = aViews;
    }

    private static Views views;
    .
    .
    .

    private void method() {
        views.thisVariable.....
    }

我喜欢这样:

@Component
@Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
public class ClassWhereVariableIsNeeded {

    @Autowired
    Views views;
    .
    .
    .

    private void method() {
        views.thisVariable.....
    }

变量所在的位置:

@Component
@Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
public class Views extends ClassWhereVariableIsNeeded {


    ThisVariable thisVariable;
    .
    .
    .

1 个答案:

答案 0 :(得分:0)

要访问任何变量和/或方法,必须将此变量/方法访问修饰符设置为高于private。 private修饰符限制对定义(或内部)类中的访问,而不是其他任何地方。 您可以为其他类提供公共/默认/包(访问)方法以使用/访问您的私有变量