Spring是否用java配置中的现有bean替换方法调用?
方法Spring是否用java配置中的现有bean替换方法调用?,java,spring,spring-java-config,Java,Spring,Spring Java Config,方法loadView只调用一次(在创建mainViewbean时)对吗 默认情况下,所有SpringBean都是单例的。因此,如果您不在@配置中,那么您的答案就是是 注意:在您的情况下,如果您在创建其他bean时多次调用getMainView,而这在@Configuration中发生,它将被调用多次,但仅在创建时调用 此外,我建议你阅读 事实上没有@Configuration是特殊的bean,经过特殊处理。因此,虽然该方法显然被多次调用,但返回的是同一个bean实例。配置类实际上由cglib代理
loadView
只调用一次(在创建mainView
bean时)对吗
默认情况下,所有SpringBean都是单例的。因此,如果您不在
@配置中
,那么您的答案就是是
注意:在您的情况下,如果您在创建其他bean时多次调用getMainView
,而这在@Configuration
中发生,它将被调用多次,但仅在创建时调用
此外,我建议你阅读 事实上没有
@Configuration
是特殊的bean,经过特殊处理。因此,虽然该方法显然被多次调用,但返回的是同一个bean实例。配置类实际上由cglib代理/扩展,并使用asm在进行解析。感谢您的澄清,不过我在回答中已经指出了这一点@M.Deinum我在其中添加了一个警告关键字,以使其更具可读性
@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();
}
...
}