Spring,从反序列化创建一个bean

时间:2010-11-14 17:14:34

标签: java spring

我没有太多使用Spring,所以我可能会遗漏一些明显的东西。无论如何,这是一个问题:

假设你有一个Spring托管bean,它是一个网络客户端。在你上面调用一个方法后,你会得到一些对象,比如它是一个List

现在我想将该List处理成对我的应用程序的其余部分更有用的东西,比如说它是MyBusinessBean类型。

如何避免做

new MyBusinessBean(List<String> info) 

??如果我这样做,它就会变成一个不属于上下文的对象。

我正在做类似的事情:

MyBusinessBean myBean = (MyBusinessBean) applicationContext.getBean("myBusinessBean", info);

然而,我一直在阅读这是一个没有正确完成的信号,因为我正在使我的代码情境感知。这样做的Spring方法是什么?

1 个答案:

答案 0 :(得分:2)

第二种方式是你在春天做的事情。调用“新”意味着你打破了模型。

但是不要以为Spring会消除对“new”的每次调用。每个对象都不需要受Spring控制。有时你只需要调用“new”,通常在单个方法的范围内。创建对象,使用它,GC它 - 不需要Spring bean工厂。

如果要在应用程序中为对象提供对象的访问权限,请简单地传递引用。在您描述的情况下,您不需要Spring bean工厂,因为您已经从服务器序列化了该对象。