有时一些特殊的任务需要在系统启动时执行,例如配置文件加载、数据库初始化等操作。Spring Boot 提供了两种解决方案:CommandLineRunner 和 ApplicationRunner。二者使用方式大体一致,差别主要体现在参数上。 一、使用 CommandLineRunner 1,基本介绍......
Spring MVC 中提供了 AOP 风格的拦截器,拥有更加精细的拦截处理能力。Spring Boot 中拦截器的注册与使用更加方便,下面通过样例进行演示。 1,创建拦截器 首先我们实现 HandlerInterceptor 接口自定义一个拦截器 MyInterceptor1,内容如下......
一、基本用法 1,基本介绍 Spring Boot 推荐使用 java 配置完全代替 XML 配置,java 配置是通过 @Configration 和 @Bean 注解实现的。二者作用如下: @Configration 注解:声明当前类是一个配置类,相当于 Spring 中的一个 XML 文件 @Bean 注解:作用在方法上......
前文提到的两种自定义 Error 数据、Error 视图的方式都是对 BasicErrorController 类中的某个环节进行修补。如果需要更加灵活地对 Error 视图和数据进行处理,可以通过继承 BasicErrorController 来实现自己的 ErrorController。 三、高级:完全自定义 Error 数据、Error 视图......
二、简单地自定义 Error 数据、Error 视图 1,自定义 Error 数据 我们知道 Spring Boot 返回的错误信息一共 5 条,分别是:timestamp、status、error、message、path。如果需要增加自定义的错误信息,只需要自定义一个 ErrorAttributes 即可......
在之前的文章中我介绍了如何使用 @ControllerAdvice 来进行全局异常处理,但是这种异常处理方式一般用来处理应用级别的异常,一些容器级别的错误就处理不了,比如 Filter 中抛出的异常。因此,Spring Boot 中对于异常的处理还有另外的方式......
使用前文介绍的 spring-boot-devtools 模块只能实现项目的自动编译,自动重启。本文接着介绍一款好用的热部署插件:JRebel。它可以使得 Java 代码修改后不用重启系统,立即生效。 1,安装 JRebel 插件 (1)我使用的是 Mac 版的 Intellij IDE。首先打开 Rreferences 窗口......
在开发 Spring Boot 项目时,每次修改代码之后都需要手动重启项目,十分浪费时间。Spring 为开发者提供了一个名为 spring-boot-devtools 的模块来使 Spring Boot 应用支持热部署,当配置了 devtools 后,我们在 classpath 修改任何文件后项目都将会自动编译并重启......
十月头条:15年来排名前8的编程语言一直都十分稳定 本月标题与榜单制作者上周参加的一场会议有关。在会议上,有工程师向他问及软件工程的趋势,而他们之所以对趋势如此感兴趣是因为担心会错过某些新技术。但榜单制作者认为从TIOBE统计的数据来看,这种担心没什么意义......
四、Redis 集群原理 1,基本介绍 在 Redis 集群中,所有的 Redis 节点彼此互联,节点内部使用二进制协议优化速度和带宽。当一个节点挂掉后,集群中超过半数的节点检测失效时才认为该节点已失效。 不同于 Tomcat 集群需要使用反向代理服务器,Redis 集群中的任意节点都可以直接和 Java 客户端连接......