Spring Boot中几个实用的方法

也有好几周没写东西了,主要是上上周被调去前公司产品组做前端了,然后这周刚换工作也比较忙,以至于无暇他顾,着实惭愧啊。这周新工作主要是C/S项目,C端使用C#+Devexpress,S端使用的Spring MVC+Spring Boot(Spring MVC是之前老项目,这次的新业务准备用Spring Boot,所以才有了这二者)。在项目搭建过程中想到几个比较实用的思路,所以,这里就来总结记录一下。

阅读更多

Java线上问题定位神器-Arthas

当我们的Java程序上线之后,有时候会由于未能及时发现自己写的bug,导致程序抽风,比如:CPU、内存持续升高,堆栈溢出等,这时候我们可以借助JVM在线诊断分析工具–Arthas快速定位线上问题

阅读更多

Spring Boot Starter为我们做了什么?

Spring Boot遵循约定大于配置的思想为我们省去了繁杂的XML配置,其为我们提供了许多诸如:spring-boot-starter-webspring-boot-starter-data-jpaspring-boot-starter-data-redis等常用的Starter组件,使得我们整合各种常用组件时显得非常简便快捷,那么这个Starter为我们做了什么工作?让我们省去了各种繁杂的整合过程。

阅读更多

Spring Boot 2.X基于Mybaits-Plus实现多数据源

一般一个项目就只会用到一个数据库,但是有时候遇到比较复杂的一点的项目就会涉及到多个数据库,比如在业务量较大的时候会涉及到分库分表,如果不增加数据库代理层的话,就只有在项目中来处理。还有像我们现在在一个项目中会涉及到GBaseMySQLDB2这三种数据库,这种情况就涉及到多种数据库连接。那么我们Spring Boot中如何实现多数据库连接呢?

阅读更多

Spring Boot整合Mybatis Plus和Druid

在Java中,我比较ORM熟悉就只有HibernateMybatis,其他的并未实践使用过,在这二者之间我更喜欢Mybatis,因为它精简、灵活(毕竟我是上年纪的程序员,喜欢自己写SQL)。

阅读更多

Spring Boot整合Dubbo和Nacos

目前适用于Spring Cloud服务注册中心的解决方案比较多,诸如:ConsulSpring Cloud EurekaZookeeperEtcd等,配置中心有:Spring Cloud ConfigApolloDisconf等。总感觉这些搭建起来较为繁琐,所以考虑使用Nacos来做配置和服务注册中心。

阅读更多

Spring Boot使用log4j2记录日志

日志可以帮我们在开发过程中乃至于生产上快速有效的定位问题的好帮手,所以如何记录有效的日子变得更加重要,在Spring Boot中,已经为我们默认添加了logbacklog4j2,默认情况下,Spring Boot采用的是logback。关于日志组件的性能,我并没有亲自验证过,只是在logback log4j log4j2 性能实测中说log4j2性能是最高的。

阅读更多

Spring Boot统一异常处理

异常可以说像大宝一样天天见,一不小心就可能写了一个bug.不过有异常不可怕,可怕是出了问题连异常的都没有,一般情况下,我们也都是try catch的方式在程序里面捕捉,但是这样有时候可能一疏忽,连try catch都忘了写,这时候如果出现问题,就比较尴尬了,所以,我们需要更加方便、优雅的全局异常处理的方式来优化我们的异常捕捉机制。

阅读更多

Spring Boot 自定义Validation注解

在项目开发过程中,注解给我们带来方便、快捷的极简编程体验,前面也有记录了一些常用的注解命令,可见注解是比较常用且重要的功能,有时候validation自带的注解可能不能满足我们的个性化需要时,我们能不能根据自己的情况自定义注解命令呢?

阅读更多

Spring Boot基于javax.validation进行参数校验

在我们使用Spring Boot开发Web Api的时候,肯定会少不了参数校验,一般情况下,大部分是使用if来判断参数是否合法,在参数较少的情况下,这样做除了少量的重复工作外,也没有较大的工作量。但是当遇到一个复杂的参数的时候,可能整个方法大部分的代码都是if。工作量大不说,代码也精简。那么有没有更好的方式来处理呢?这就是我们这里要说到的参数校验技巧。

阅读更多