代码之家  ›  专栏  ›  技术社区  ›  sinedsem

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

  •  3
  • sinedsem  · 技术社区  · 10 年前

    我的方法对吗 loadView 将仅调用一次(创建时 mainView 豆)?

    @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();
        }
    
       ...
    }
    
    1 回复  |  直到 10 年前
        1
  •  4
  •   Community Mohan Dere    9 年前

    默认情况下,所有spring bean都是单一的。所以如果你不在 @Configuration 你的答案很简单 .

    注意: 在你的情况下,如果你打电话 getMainView 在创建其他bean时 @配置 ,它将被多次调用,但仅在创建时调用。

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