spring mvc+mybatis+mysql项目
来源:互联网 发布:bluehost 单独域名续费 编辑:程序博客网 时间:2024/06/14 09:28
这几天整合这几个部分项目架子,现在 基本有点初形了。
项目采用spring mvc作为请求流转与处理框架,mybatis为持久化层,mysql为数据库。
事务让spring来进行管理。
请求进入系统时,通过spring mvc的dispatcherServlet,流转到相应的Controller处理器。controller处理器再调用相应的service层,service层调用dao层与数据源交互。
事务控制在service层。
当业务代码需要回退事务时,需要抛出unchecked exception,这也是spring默认支持的回退事务的exception。当然你也可以配置其它checkException。
如果业务代码有异常抛出(业务异常),这个异常有业务的提示信息告诉客户发生了这么一个业务错误。
我们希望有一个统一的异常处理器来对异常做处理,它接收一个业务异常类,然后抽取开发者在业务代码中抛出异常时填入的异常信息,将其放入model。处理完后,返回到一个指定的统一业务异常界面,当然这里也可以返回客户当前操作的那个界面,然后在界面上统一显示这个异常信息。
这个异常处理器由spring mvc提供,这里用@ControllerAdvice定义了一个业务异常处理类。
代码如下:
@EnableWebMvc
@ControllerAdvice
public class BizExceptionHandler {
private static final Logger logger=Logger.getLogger(BizExceptionHandler.class);
@ExceptionHandler(VerifyException.class)
public ModelAndView handlerBizeException(VerifyException verifyException){
logger.info("==========handler the bizException");
ModelAndView modelAndView=new ModelAndView();
modelAndView.setViewName(CodeInfoCode.REDIRECT_PREFIX+"/jsp/error/bizError.jsp");
modelAndView.addObject(CodeInfoCode.ERROR_INFO, "错误信息");
return modelAndView;
}
}
这里的标注@ControllerAdvice,只有spring3.2才支持。并且@EnableWebMvc,这个标注必须有,否则这个异常处理类将不起作用。
这里用了redirect。之后bizError.jsp中将用request.getParameter来获取异常信息。
这样简化了整个业务异常的处理。
抛异常处代码:
throw new VerifyException("error info");
- spring mvc+mybatis+mysql项目
- Maven+Spring MVC+MyBatis+dbpc+Mysql Web项目构建
- maven 构建 全注解 spring mvc + mybatis mysql 项目
- Maven+Spring+Spring MVC+Mybatis项目实战
- spring+spring mvc +mybatis项目创建
- 搭建 spring + spring mvc +mybatis web项目
- spring+spring mvc+mybatis项目配置
- spring mvc + spring + myBatis + mysql 配置案例
- maven构建spring mvc项目 + Mybatis整合
- maven构建spring mvc项目 + Mybatis整合
- maven构建spring mvc项目 + Mybatis整合
- Spring MVC + mybatis项目错误解决方案汇总
- Spring MVC + MyBatis 记录自己项目问题
- stripes + spring mvc + mybatis + mysql运行纪实
- Spring MVC+MyBatis+MySql 具体实践
- Spring MVC+Mybatis+Maven+Velocity+Mysql
- spring4 学习4 spring MVC+mybatis+Mysql
- Maven, Spring MVC, Mybatis, Mysql and Java_1
- IOS 基于APNS消息推送原理与实现(JAVA后台)
- 关于Tomcat搭建服务器需要80端口问题的解决方案以及80端口被NT KERNEL & SYSTEM ,pid4占用解决方法
- ngnix+uwsgi+django+python
- Codeforces Round #239 (Div. 2)
- gdb调试
- spring mvc+mybatis+mysql项目
- Java并发编程之线程管理(Executor框架15)
- hdu1004
- 从零开始学习cpld(1)
- 单例模式以及单例模式与静态类的对比
- 三门问题
- 算法导论学习之归并排序
- OSX: Garageband/LogicPro各种安装包下载
- python----异常、属性