是否可以手动构造对象并让Spring注入其他参数?
e.g。
class A
@Autowired
private SomeDao dao;
A(String x, String y) {}
答案 0 :(得分:1)
您的示例是使用字段注入,而不是构造函数注入。
最好的方法通常是使用JavaConfig。您的@Bean
方法可以采用参数(Spring会自动装配),当您调用new
时,可以将这些参数与其他选项结合使用。
答案 1 :(得分:0)
也许org.springframework.web.context.support.SpringBeanAutowiringSupport这是你想要的,尝试调用:
SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
答案 2 :(得分:0)
您可以使用AutowireCapableBeanFactory中的autowireBean。给定applicationContext,您可以调用getAutowireCapableBeanFactory()然后自动装配您的实例:
applicationContext.getAutowireCapableBeanFactory().autowireBean( new A("x", "y" ) );