SpringBoot集成ES
elasticsearch被广泛用于分布式的全文检索,本文将介绍如何在Spring Boot项目中集成使用ES
elasticsearch被广泛用于分布式的全文检索,本文将介绍如何在Spring Boot项目中集成使用ES
前后端分离的项目中,接口和页面往往部署中不同的服务中,这个时候就是出现跨域的问题。如果是SpringBoot项目,可以采用下面两种方式来解决跨域问题。
网上的说法有很多,但都不太全面,本文是通过自己实践后,总结出来的处理方式。自动绑定和自动格式化是两种不同的处理,所以需要针对这两个进行配置,以springboot自带的jackson为例。
Spring Boot 默认的日志框架是logback,改用log4j2的话,需要改写pom,web项目中需要排除spring-boot-starter-logging,再自行添加spring-boot-starter-log4j2依赖。
在开发系统时,尤其是后台管理系统,几乎每一个操作,都要求记录其操作日志。如果在每一个操作结束之后,都加上一个记录日志的操作,那样代码会非常臃肿,耦合度高、代码可读性差,维护难。本例中,采用AOP来实现日志记录功能,一个注解即可实现同样的效果。
系统中,除登录接口/login以外,其他所有接口,必须用户登录后才能访问。本文将采用拦截器的方式,实现这一功能
Spring Boot中实现一个过滤器相当简单,实现javax.servlet.Filter接口即可。下面以实现一个记录接口访问日志及请求耗时的过滤器为例:
SpringBoot需要引入spring-boot-starter-validation(使用Hibernate Validator 框架提供验证功能) 依赖进行参数校验,由于本项目中已经引入了spring-boot-starter-web 依赖(包含spring-boot-starter-validation依赖),就不需要重复引用了。但是该框架并没有提交对枚举的校验,本文将自己扩展一个枚举校验。
在实际开发中,我们经常使用@RestController/@Controller联合@RequestMapping来标注一个Controller,每次都需要开发者写两个注解,比较麻烦。下面就对它进行自定义封装,以后只需要写一个注解就能达到同样的效果。
实际开发中发送邮件是一个非常常见的功能,SpringBoot项目对邮件发送提供了很好的支持,本文将演示如果将发送邮件Mail封装成一个工具,让代码便捷的发送邮件。