统一异常处理相关注解介绍 @ControllerAdvice 声明在类上用于指定该类为控制增强器类,如果想声明返回的结果为 RESTFull 风格的数据,需要在声明 @ExceptionHandler 注解的方法上同时加 上 @ResponseBody @RestControllerAdvice 声明在类上用于指定该类为控制增强器类.并声明返回的结果为 RESTFull 风格的数据,无需在声明 @ExceptionHandler 注解的方法上加 @ResponseBody @ExceptionH…
使用Springboot + Gradle快速整合Mybatis-Plus 作者:Stanley 罗昊 [转载请注明出处和署名,谢谢!] MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 注:作者使用IDEA编辑器 使用 Spring Initializr 快速初始化一个 Spring Boot 工程 在IDEA编辑左上角Flie ->new - >Project…
SpringBoot小技巧:统一异常处理 情景描述 对于接口的定义,我们通常会有一个固定的格式,比如: 但是调用方在请求我们的API时把接口地址写错了,就会得到一个404错误,且不同于我们定义的数据格式. 我们需要在发生这种系统错误时也能返回我们自定义的那种格式,就需要定义一个异常处理类,这个类既可以返回统一的格式,也可以统一记录异常日志. 方法 我们在@ExceptionHandler(value = Exception.class)中指明了异常器处理Exception及其子类.JsonRes…
前言 JavaServer Pages(JSP)技术使Web开发人员和设计人员能够快速开发和轻松维护利用现有业务系统的信息丰富的动态Web页面. 作为Java技术系列的一部分,JSP技术可以快速开发独立于平台的基于Web的应用程序.JSP技术将用户界面与内容生成分开,使设计人员能够在不改变底层动态内容的情况下更改整体页面布局. 对开发人员的好处 如果您是熟悉HTML的网页开发人员或设计人员,则可以: 使用JSP技术而不必学习Java语言:您可以使用JSP技术而无需学习如何编写Java scrip…
概念 异常,在程序中经常发生,如果发生异常怎样给用户一个良好的反馈体验就是我们需要处理的问题.以前处理异常信息,经常都是给前端一个统一的响应,如数据错误,程序崩溃等等.没办法指出哪里出错了,这是一种对用户很不友好的体验.我们应该根据自己的业务给予信息提示 异常类 定义一个全局的异常类,有异常信息,都交到这边来.它像一个污水处理厂,汇集所有的工业污水,然后分门别类进行污水净化.要现实这种功能就要用到springBoot的@ControllerAdvice注解,它的作用是控制器增加,应用到有以下的注…
概述 首先让我引用 Swagger 官方的介绍: Design is the foundation of your API development. Swagger makes API design a breeze, with easy-to-use tools for developers, architects, and product owners. 设计是API开发的基础.Swagger使API设计变得轻而易举,为开发人员,架构师和产品所有者提供了易于使用的工具. 作为一个后端开发者,…
概述 首先声明一下,这里所说的拦截器是 SpringMVC 的拦截器 HandlerInterceptor.使用SpringMVC 拦截器需要做如下操作: 创建拦截器类需要实现 HandlerInterceptor 在 xml 配置文件中配置该拦截器,具体配置代码如下: <mvc:interceptors> <mvc:interceptor> <!-- /test/** 这个是拦截路径以/test开头的所有的URL--> <mvc:mapping path=&qu…
概述 SpringBoot 中没有 web.xml, 我们无法按照原来的方式在 web.xml 中配置 Filter .但是我们可以通过 JavaConfig(@Configuration +@Bean)方式进行配置.通过FilterRegistrationBean 将自定义 Filter 添加到 SpringBoot 的过滤链中. 实战操作 实战操作通过定义一个拦截所有访问项目的URL的 Filter来进行演示的. 首先定义一个统一访问 URL 拦截的 Filter.代码如下: public…
FreeMarker 介绍 Apache FreeMarker™是一个模板引擎:一个Java库,用于根据模板和更改数据生成文本输出(HTML网页,电子邮件,配置文件,源代码等).模板是用FreeMarker模板语言(FTL)编写的,这是一种简单的专用语言(不像PHP这样的完整编程语言).通常,使用通用编程语言(如Java)来准备数据(发布数据库查询,进行业务计算).然后,Apache FreeMarker使用模板显示准备好的数据.在模板中,您将专注于如何呈现数据,而在模板之外,您将关注于要呈现的…
前言 Thymeleaf是一个适用于Web和独立环境的现代服务器端Java模板引擎. Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 - 可以在浏览器中正确显示的HTML,也可以用作静态原型,从而在开发团队中实现更强大的协作. 通过Spring Framework模块,与您喜欢的工具的大量集成,以及插入您自己的功能的能力,Thymeleaf是现代HTML5 JVM Web开发的理想选择 - 尽管它可以做得更多. --摘抄自Thymeleaf官网介绍 链接:https://ww…