我一直致力于Spring MVC项目结构,其中多个具体服务类从Abstract Class扩展而来。
在我的控制器中,我试图自动绘制抽象类并根据用户选择选择实现。这是Controller类的相关部分:
@Controller
@RequestMapping("/")
public class DashboardController {
@Autowired
LogAnalyzerAbstract logAnalyzer;//new LogAnalyzer();
private static final Log logger =LogFactory.getLog(DashboardController.class);
....
logAnalyzer.process();
}
我希望控制器使用基于用户输入的实现,并在进一步实现中使用Abstract类LogAnalyzer引用。
我的逻辑有效吗?你能指导我吗?
答案 0 :(得分:0)
如果我理解你的正确要求,你需要做的是创建几个Spring-MVC控制器,每个用例一个,有自己的基本路径,并在那里自动装配抽象服务类(或服务接口) ),基于具体服务的bean名称(如果在具体服务类上使用注释@Service,则bean名称应该是具体服务类的名称,以小写字母开头)。
例如,如下所示:
@Service
public class MyFirstUseCaseService extends AbstractService {
...
}
并在控制器中
@Controller
@RequestMapping("/firstUseCaseBaseUrl")
MyFirstUseCaseController {
@Autowired
@Qualifier("myFirstUseCaseService")
private AbstractService service;
....
}