Java 使用动态构造函数参数获取bean

Java 使用动态构造函数参数获取bean,java,spring,autowired,Java,Spring,Autowired,我有一个spring组件,它有一个@Autowired构造函数,它的参数来自@Value注释。像这样: @Component public class MyImplClass implement MyInterface ... public MyImplClass(@Value("${prop.name}") final String name, @Value("${prop.value}") final String value) { ... } ... 在另一个类中,我像这样自动连接这种类

我有一个spring组件,它有一个
@Autowired
构造函数,它的参数来自
@Value
注释。像这样:

@Component
public class MyImplClass implement MyInterface
...
public MyImplClass(@Value("${prop.name}") final String name, @Value("${prop.value}") final String value) {
...
}
...
在另一个类中,我像这样自动连接这种类型

@Autowired
protected MyInterface _myInterface;

现在,我需要将带有动态生成的值(在运行时生成)的MyInterface bean传递给构造函数。我尝试使用
AbstractBeanFactory
,但没有成功。我该怎么做?

您可以在Spring配置中生成一个bean,如下所示:

@Bean
public MyInterface getMyInterfaceBean() {
    // Calculate arg values
    String arg1 = ...;
    String arg2 = ...;
    return new MyImplClass(arg1, arg2);
}
更好的解决方案是更改
MyImplClass
的构造函数以接收配置对象,该对象将知道如何加载所需的值