我想在Spring MVC应用程序中执行以下操作:
从我的@Service List<String> list
中的数据库中获取一些数据(它将返回MainService
)。
使用此list
作为我当前在ConfigFactory
中@Autowired的其他@Service MainService
的构造函数参数。
从ConfigFactory
触发方法以获取最终结果,该结果将添加到我的@Controller类中的ModelAndView中。
我知道这样做是可能的:
ConfigFactory类:
@Service
public class ConfigFactory(){
public void init(List<String> list){
//Use list to initialize ConfigFactory
}
public Result getResult(){
//Do some business logic
return result;
}
}
MainService类:
@Service
public class MainService {
@Autowired ConfigFactory configFactory;
public Result method(){
//Get list from database;
configFactory.init(list);
Result result = configFactory.getResult();
//Create a Result that will be later added to controller ModelAndView.
}
}
但这感觉并不好。所以我被困在这里。有谁知道如何正确实现这一目标?
最佳答案
为什么不将列表作为参数传递给getResult()方法?
我想您从init()方法中的列表中获取值,并且在ConfigFactory中初始化了某些属性?请勿这样做,当多个用户尝试执行相同操作时,您可能会遇到问题。