java - Spring是否用java配置中的现有bean替换方法调用?

标签 java spring spring-java-config

loadView 方法只会被调用一次(在创建 mainView bean 时),我说得对吗?

@Configuration
public class Config {

    @Bean(name = "mainView")
    public View getMainView() throws IOException {
        return loadView("fxml/main.fxml");
    }

    @Bean
    public MainController getMainController() throws IOException {
        return (MainController) getMainView().getController();
    }

    @Bean
    public Step1Controller getStep1Controller() throws IOException {
        return getMainController().getStep1Controller();
    }

   ...
}

最佳答案

默认情况下,所有 spring bean 都是单例的。因此,如果您不在 @Configuration 中,您的答案是YES

警告:在您的情况下,如果您在 @Configuration 中创建其他 bean 时多次调用 getMainView,它将被调用多次,但只是在创建时。

此外,我建议您阅读this question .

关于java - Spring是否用java配置中的现有bean替换方法调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34676745/

相关文章:

java - 如何从 Java 中的字符串中提取大写子字符串?

java - 在 DispatcherServlet 中找不到具有 URI j_spring_security_check 的 HTTP 请求的映射

java - 在 ConditionalOnExpression 评估期间 PropertySource 不可用

java - 如何声明一个具有以 String 和 Map 作为参数的构造函数的 bean?

java - AnnotationConfigApplicationContext 中的 Quartz 调度程序

java - 如何以编程方式配置 Spring 的 @Configuration 注释?

spring - 如何在 javaconfig 上正确使用 Spring 3.2 + hibernate 4

java - 空指针异常

java - Woodstox 错误消息可以自定义吗

java - 数据库插入多对多关系。愚蠢的问题