gpt4 book ai didi

java - Helper 类中的依赖项?

转载 作者:行者123 更新时间:2023-12-02 04:30:29 25 4
gpt4 key购买 nike

我正在转换一个到处使用单例的旧代码库。它有许多使用这些单例的帮助器类。

我正在尝试将其转换为使用 DI,但我不确定解决此问题的最佳解决方案是什么。辅助类有许多方法,如下所示:

public PropertyValue getProperty(String objId, String propId) {
obj = dao.getObj(objId);
if(obj == null)
return null;
if(some other condition)
log result
return obj.getProperty(propId)

这个例子有点做作,但它有点说明了我的观点。如果对象存在,它就会获取值。我真的不想将此方法添加到 DAO 中,因为有许多 DAO 实现,因此需要在很多地方实现它。与对象本身类似。

我想我可以使用 java 8 的界面默认值,但这对我来说似乎都是错误的。

有什么想法吗?

最佳答案

使用 Spring,我会推荐类似的东西:

@Component
public class Helper {

@Autowired
private IDao dao;

public PropertyValue getProperty(String objId, String propId) {
obj = dao.getObj(objId);
if(obj == null)
return null;
if(some other condition)
log result
return obj.getProperty(propId)
} // getProperty
} // class Helper

并再次使用 Autowiring 将助手注入(inject)到另一个类中:

@Component
public class SomeClass {
@Autowired
private Helper helper;

public void someMethod() {
// ...
PropertyValue v = helper.getProperty(objId, propertyId);
// ...
}
}

关于java - Helper 类中的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31545630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com