亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

spring是否能在其它bean完成init之后才創建另外一個bean的實例?

spring是否能在其它bean完成init之后才創建另外一個bean的實例?

搖曳的薔薇 2018-08-26 10:43:27
有個需要引用bean的工具類@Componentclass FooUtils implements InitializingBean {    private static Foo foo;    private static Bar bar;    @Autowired     private void foo(Foo foo) {         MyFactory.foo = foo;     }         @Override     public void afterPropertiesSet() throws Exception {         bar = new Bar(foo, ...);     }         public static MyObj create(int param1, int param2, int param3) {        if (foo == null) { thrown new Exception(); }        return new MyObj(foo.baz(param1, param2), bar, param3);     } }想用上面那個工具類創建bean@Configuration@DependsOn('fooUtils') // <-- 然而不work, 開始new實例的時候都還沒進行bean的initclass Config {    @Bean     public MyObj myObjBean() {        return FooUtils.create(1, 2, 3); // <-- 想不到怎么讓這里在fooUtils完成autowired之后才執行     } }@Serviceclass MyService {     @Autowired     private MyObj myObj; }
查看完整描述

1 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

改成,還不行就把create改成實例方法

    @Bean
    public MyObj myObjBean(FooUtils utils) {        return FooUtils.create(1, 2, 3);
    }


查看完整回答
反對 回復 2018-08-27
  • 1 回答
  • 0 關注
  • 747 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號