基于RESTful服务值创建运行时bean

时间:2017-02-13 13:11:23

标签: spring spring-bean

有没有办法可以在spring上创建运行时bean。我需要这样做,因为bean的值将由外部实体通过RESTful服务注入。运行时bean是否仍然可以自动装配?

1 个答案:

答案 0 :(得分:0)

完全可能

在你的控制器中(或你的工厂会更优雅)你需要注入你的应用程序上下文

@Autowired
private ApplicationContext applicationContext;

您可以像这样创建bean:

YourClassBean yourObject = this.applicationContext.getBean(YourClassBean.class, params);

在Spring配置中执行以下操作:

@Bean
@Scope(value = "prototype")
YourClassBean yourClassBean(String params) {
    return new YourClassBean(params);
}

你已经完成了。

在该示例中,Scope是Prototype,这意味着每次调用yourClassBean方法时都会得到一个新对象。

同样在该示例中,params是一个String(它就像你的bean的初始化参数,但这完全是可选的,当然你可能需要或想要更多的参数,它完全可以找到)