将对象传递给构造函数与从静态实用程序类获取

问题描述 投票:0回答:2

我不确定如何设计我的Java类,这个问题也与更好的测试有关。

我正在 Spring 应用程序的许多地方使用静态实用程序类/方法

Utils.getMapper()
进行配置
ObjectMapper

当需要对象映射器时,例如在

@Service
类中,我应该仅通过构造函数参数传递实例,还是通过调用实用程序方法在我的类中获取映射器是正确的?

java oop instance-variables utility-method
2个回答
1
投票

通常最好通过

ObjectMapper
类中的构造函数参数传递
@Service
实例,而不是调用实用程序方法来获取实例。

通过构造函数参数传递实例,您可以确保

ObjectMapper
实例显式地提供给您的类,这使得您的类的依赖关系更加明确且更易于管理。


0
投票

创建一个 ObjectMapper bean 并通过构造函数将其注入到您的类中。

© www.soinside.com 2019 - 2024. All rights reserved.