使用Spring初始化POJO对象

时间:2016-05-26 20:05:30

标签: java spring

我的应用程序中有一些模型对象或所谓的POJO对象。 这些对象仅用于存储数据,不会执行任何操作。

我知道在大多数情况下,Spring Beans不是POJO。例如,我主要将DAO,服务,控制器类声明为Spring Beans。

但是如果我用新关键字初始化POJO甚至是List对象 我将它紧密地耦合到实现类。

因此,如果稍后某人将扩展我的POJO以添加一些成员变量,他将无法将其注入服务类。

我想过使用Application context Aware来做这件事,但后来我把我的应用程序紧密地耦合到了Spring。

所以我的问题是

初始化POJO对象的最佳方法是什么,以后可以扩展。 我更喜欢使用spring Spring IOC容器

1 个答案:

答案 0 :(得分:1)

首先,我并不担心将代码绑定到实现类。您是正确的,因为IoC用于为代码库提供灵活点(扩展而不是修改),但除非您正在编写框架,否则没有理由不使用{{1用于实例化POJO的关键字。当有人要扩展您的POJO时,他们很可能有足够的能力将扩展注入相关服务。

如果你真的想使用Spring,你必须在IoC容器中注册一个bean。如果你不想要单例,你可以使用new让Spring在每次请求bean时实例化一个新实例:

@Scope