有个需要引用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
提交
取消