我正在寻找设计场景的最佳方法。我有一个服务类,它调用存储库并获取日期。应在服务类中的多个方法中使用获取的日期以进行进一步处理。如何声明该变量?它可以是一个实例变量并访问它,还是为该变量创建一个 getter/setter 并使用 getMethod 来获取它?我正在寻找任何好的方法。
在下面的示例中,datevar 是从存储库中获取的,但将在多个方法中使用,我不想每次在方法内调用存储库,也不想保留为参数。
@Service
public class ServiceA(){
@Autowired
DBRepo dbrepo;
public Date fetchDate()
{
Date dateVar = dbrepo.findById();
}
public void method1(){
//use datevar here
}
public void method2() {
/use datevar here
}
}
我猜你想要
@Service
public class ServiceA(){
@Autowired
private DBRepo dbrepo;
public Date fetchDate() {
return dbrepo.findById();
}
public void method1(Date date) {
...
}
public void method2(Date date) {
...
}
}
所以你可以做
@Service
public class ServiceB {
@Autowired
private ServiceA serviceA;
public void doStuff() {
Date date = serviceA.fetchDate();
serviceA.method1(date);
serviceA.method2(date);
}
}