Java Spring Roo/STS:ServiceImpl方法在控制器类中不可见
我在STS中创建了Roo生成的项目,并尝试定制更新/删除方法以与MongoDB一起工作(用于级联更新和删除)。我创建了服务方法,以在更新(删除)父对象时更新(删除)子对象: NoteService接口是Roo生成的,如下所示:Java Spring Roo/STS:ServiceImpl方法在控制器类中不可见,java,interface,spring-roo,Java,Interface,Spring Roo,我在STS中创建了Roo生成的项目,并尝试定制更新/删除方法以与MongoDB一起工作(用于级联更新和删除)。我创建了服务方法,以在更新(删除)父对象时更新(删除)子对象: NoteService接口是Roo生成的,如下所示: @RooService(domainTypes = { org.dp.mongo.shortnotes.domain.Note.class }) public interface NoteService { } 然后,我将父实体Notebook的Roo controll
@RooService(domainTypes = { org.dp.mongo.shortnotes.domain.Note.class })
public interface NoteService {
}
然后,我将父实体Notebook的Roo controller*.aj中的update和dette方法推入重构到Notebook controller类中,并添加了对子实体服务方法的调用:
@RequestMapping("/notebooks")
@Controller
@RooWebScaffold(path = "notebooks", formBackingObject = Notebook.class)
public class NotebookController {
@Autowired
private NoteService noteService;
@RequestMapping(method = RequestMethod.PUT, produces = "text/html")
public String update(@Valid Notebook notebook, BindingResult bindingResult,
Model uiModel, HttpServletRequest httpServletRequest) {
if (bindingResult.hasErrors()) {
populateEditForm(uiModel, notebook);
return "notebooks/update";
}
uiModel.asMap().clear();
notebookService.updateNotebook(notebook);
**noteService.updateNotesWithNoteBook(notebook);**
return "redirect:/notebooks/"
+ encodeUrlPathSegment(notebook.getId().toString(),
httpServletRequest);
}
the similar for delete method...
最后得到的错误是noteService没有UpdateNodesWithNotebook和delete方法。如何修复它们?NoteService界面中是否存在updateNotesWithNoteBook方法
您必须将其放入界面中,这就是您从控制器调用的内容。非常感谢,我这样做了,并试图给出答案,但无法引起我的声誉级别)
@RequestMapping("/notebooks")
@Controller
@RooWebScaffold(path = "notebooks", formBackingObject = Notebook.class)
public class NotebookController {
@Autowired
private NoteService noteService;
@RequestMapping(method = RequestMethod.PUT, produces = "text/html")
public String update(@Valid Notebook notebook, BindingResult bindingResult,
Model uiModel, HttpServletRequest httpServletRequest) {
if (bindingResult.hasErrors()) {
populateEditForm(uiModel, notebook);
return "notebooks/update";
}
uiModel.asMap().clear();
notebookService.updateNotebook(notebook);
**noteService.updateNotesWithNoteBook(notebook);**
return "redirect:/notebooks/"
+ encodeUrlPathSegment(notebook.getId().toString(),
httpServletRequest);
}
the similar for delete method...