【问题标题】:Spring init method with parameters issue带有参数问题的Spring init方法
【发布时间】:2015-06-08 13:05:45
【问题描述】:

所以我正在学习 spring 依赖注入并且遇到了一个问题。我有两个类...一个是 Run 类,另一个是 Builders 类。Builders 类有一个静态方法 abc,它接受多个参数并返回一个 Run 类型的对象. 它看起来像这样:

public class Run{
    private final Check check;

    public Run(Check check){
        this.check = check;

    }
    public Check getCheck() {
        return check;
    }
}

public class Builders {
    public static Run abc(multiple arguments) {
        Check check = ProxyImplClass.createCheck(multiple arguments);
        return new Run(check);
    }
}

我只需要在应用程序启动时调用下面提到的语句一次。

运行 run = Builders.abc (....accepts multiple parameters....);

我如何使用 spring xml 来做到这一点?如果需要在类文件中进行一些更改,那么也请提及,因为我对这个 Spring 框架还很陌生。

注意:....abc 方法中的多个参数仅表示该方法接受多个参数。

【问题讨论】:

    标签: java spring servlets dependency-injection


    【解决方案1】:

    您可以使用<bean>factory-method 属性来做到这一点。要使用不同类的static 工厂方法,请使用class 属性指定包含该方法的类。

    你想传递给方法的任何参数都放在<constructor-arg>标签中:

    <bean id="run" class="pkg.Builders" factory-method="abc">
        <constructor-arg type="..." value="...">
        <constructor-arg type="..." value="...">
    </bean>
    

    【讨论】:

    • 嘿 Rohit....感谢您宝贵的时间....只是想知道在应用程序启动时是否会调用相同的方法?
    • @Sandy 是的。如果惰性初始化未设置为 true。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多