有個需要引用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); }
添加回答
舉報
0/150
提交
取消