java项目(SpringMVC框架)中重复的代码能用AOP解决吗?(比如我想在每个Service层中的某一个方法里加入相同的代码)
本人想学习aop并实际应用到当前的项目中,为了避免表单重复提交的问题,在有需要判断的表单提交后台代码Service层中加了如下代码:
/**
* 跳到添加管理员页面
* @return
*/
@RequestMapping(value = "add", method={RequestMethod.GET})
public String add(HttpSession session) {
//生成表单唯一指令码
commonService.setToken(session);
return "../managerAdd";
}
/**
* 添加管理员信息
* @param manager
* @param session
* @return
*/
@RequestMapping(value = "add", method={RequestMethod.POST})
public String add(Manager manager, String passwordR, Model model, HttpServletRequest request) {
HttpSession session = request.getSession();
Manager mng = (Manager) session.getAttribute("_manager");
//判断用户是否是重复提交表单
boolean b = commonService.isRepeatSubmit(request);
session.removeAttribute("token");
if (b) {
return "redirect:list";
}
passwordR = StringUtil.trim(passwordR);
ResultSetInfo rsi = managerService.add(manager,passwordR,mng);
if (!rsi.getResult()) {
model.addAttribute("entity", manager);
model.addAttribute("passwordR", passwordR);
model.addAttribute("msg", rsi.getMessage());
return "../managerAdd";
}
return "redirect:list";
}
,现在应为以后每个表单都要有后面这段代码,在考虑是否可以利用SpringAOP来将此段代码用注解替换
//判断用户是否是重复提交表单
boolean b = commonService.isRepeatSubmit(request);
session.removeAttribute("token");
if (b) {
return "redirect:list";
}
求懂AOP的前辈指教