在域模型中使用Spring依赖注入?

时间:2016-04-04 14:57:50

标签: java spring hibernate spring-mvc dependency-injection

我已经使用Spring MVC一段时间了,并考虑用普通的Spring创建一个应用程序(可能是Spring Boot)。我将有几个域数据对象,如: - 人 - 地址 但第一个应用程序版本将在没有Address类的情况下构建我不知道哪些字段将存储在Address类中。此外,我想用Hibernate制作应用程序(因此Hibernate将为实例类创建数据库表)。所以我有选择: - 首先创建Person类,没有地址字段,但它将是不完整的,并且当Address将在系统中时需要更新测试。 -Create Address接口并进行一些实现,如MockAddress或StubAddress,并在具有Address接口类型的Person Class中创建一个数据字段。 -Create Address类,不带任何接口和字段/方法,并与人联系。

我没有找到关于这个主题的好解释,那么如何在那里使用DI或者不值得使用它?我发现大多数关于服务层线的文章,但不是关于数据模型对象。

1 个答案:

答案 0 :(得分:-1)

依赖注入(DI)的力量不在域模型中;例如,您可能不会从人与地址域模型关系中的DI中受益。您的持久性数据模型(即数据库+ Hibernate)应该维护域模型关系。

然而,管理您的应用程序配置是使用DI组装生产就绪应用程序的理想场所。配置服务层是另一个使用DI的好地方。使用依赖注入非常值得您花时间和精力学习,即使对于您所描述的最基本的Spring应用程序也是如此。

为了帮助您入门,here's a simple example using Spring Data JPA with Hibernate.要在域模型更改时升级数据库,请使用Flyway