SpringBoot
文章平均质量分 65
Vicolen.Hao
天下风云出我辈,一入江湖岁月催。
展开
-
Java递归、非递归构建具有无线层级父子关系的目录、菜单
1、背景 项目开发中,比如一本书,具有多级目录;一个一级分类下面还有二级分类,二级下面有三级…。此时需要后端返回一颗完整的无限层级的菜单树。2、思路 构建树的一般思想都是使用Map之类的映射处理或者使用递归之类的处理,Map有个好处是直观明了,具体实现可见本人的另外一篇(Java使用Map构建无限层级树)。但是递归对数据保护的比较好。本处介绍一下使用递归来构建树:找出所有的顶级父级,组装成List。递归找出每一个顶级父级的孩子节点。3、实现import com.alibaba.fast原创 2021-07-24 20:38:12 · 2003 阅读 · 4 评论 -
Spring/SpringBoot使用多数据源时,导致Mybatis插件PagerHelper失效问题解决方案
笔者在使用多数据源后,出现MyBatis插件PageHelper完全失效的问题,导致每次查询都不进行翻页,查询处所有的数据。这是因为配置多数据源时,必然要重写SqlSessionFactory(MyBatis的接口),这就导致默认的插件加载失效,此时就需要重新绑定PageHelper插件了。1. 配置插件/** * 配置插件 * * @return bean */ @Bean(name = "plugins") public Interce原创 2020-10-10 20:22:24 · 2243 阅读 · 1 评论 -
Spring/SpringBoot实现配置多数据源和常见问题
在做SpringBoot项目开发时,有时需要配置多个数据源。今天记录一下多数据源的配置。1. 设置数据源枚举,通过枚举作为数据源Map的key获取数据源,实现动态切换数据源实现代码:/** * 描述:数据源枚举 */public enum DataSourceEnum { /**默认数据源**/ DB_DEFAULT, /**另外的数据源**/ DB_REPLICATION}2. 配置properties文件:配置多个数据源(备注:前缀可以自己定义)原创 2020-10-09 21:11:58 · 1153 阅读 · 0 评论 -
Java实现导出MySQL为文本(.sql结尾),并将其压缩(.zip结尾)
MySQL数据库是一种比较昂贵的资源原创 2020-05-19 22:30:58 · 1013 阅读 · 3 评论 -
Spring/SpringBoot事务详细介绍
事务简介 事务管理是企业开发,或是多增删改操作当中必不可少的技术,主要用来保证数据的一致性,例如,在一个接口中,一次执行A(增)、B(删)、C(改)三个操作,当执行完AB操作之后突然出现了异常,导致C无法继续操作,即AB操作成功,C没有成功。此时,事务管理派上了用场,它可以保证ABC三个操作,要么都成功,要么都不成功。只有这么两个结果。事务的四大特性 事务有四大特性(ACID )原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败。成功则所有的数据库操作都生效原创 2020-05-18 22:59:52 · 3775 阅读 · 5 评论 -
SpringBoot中使用@Async注解使用及其失效问题解决
项目开发过程中,经常会使用到异步处理。对于异步处理,我们最先想到的基本是直接在写类,然后继承Thread类或者实现Runnable接口,然后调用start()方法,这样也就达到了异步效果。 在SpringBoot或者Spring中若我们仅仅想使用异步功能,处理一些耗时久,且不是核心的逻辑,使用Spring的@Async注解即可,简单明了。 @Async注解虽然极其简单,但是里面的坑确是...原创 2020-05-05 22:15:14 · 1807 阅读 · 2 评论 -
Java构造前端vue使用的树(或者使用Java构造常用的部门树等)
Web项目开发中,由于前端框架的限制,很多时候需要将返回的数据加工后再返回给前端。最典型的就是返回一棵部门层级关系的树。下面即是一棵带有层级的文档标题树,和我们书籍的目录结构一样。 在树的结构中,每一个节点都需要有一颗父级节点,即使是顶级节点,也需要给其父节点赋值。比如,在下面的带有父子关系的线性结构中,有些id的parentId是null的,此时就需要将parentId为null赋值为...原创 2019-12-05 19:13:00 · 738 阅读 · 0 评论 -
SpringBoot(Spring+Java8)实现去除controller层的String(含包装类)类型参数的首尾空格
目前SpringBoot非常流行,大大简化了Spring整合Mybatis,SpringMVC的配置。但是另外的一件烦心事来了,那就是写接口时候,前后端都需要对String类型的字段做好去首尾空格处理,该项工作简单但是繁琐,虽不费心,但是劳神。在这里写了个注解,在接口进入controller前实现去除字符串去除首尾空格功能。定义注解:import java.lang.annotation.Do...原创 2019-12-03 19:49:58 · 2319 阅读 · 0 评论 -
SpringBoot访问HTTP链接:java.lang.IllegalStateException: No instances available for......
java.lang.IllegalStateException: No instances available for www.baidu.comat org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.execute(RibbonLoadBalancerClient.java:79)at org.springfr...原创 2019-11-29 22:46:35 · 1381 阅读 · 0 评论 -
Springboot启动报错:The Tomcat connector configured to listen on port 50008 failed to start.
Description:The Tomcat connector configured to listen on port 50008 failed to start. The port may already be in use or the connector may be misconfigured.Action:Verify the connector’s configuration...原创 2019-11-18 19:06:59 · 1979 阅读 · 0 评论 -
Java实现将ASCII码转化为中文显示和将ASCII编码的HTML文件转化为中文的HTML文件
今天就在开发过程中遇到的问题,给大家分享一下将ASCII码转化为中文显示的例子。 /** * ASCII转换为字符串 */ public static void transAscii2Chinese() throws UnsupportedEncodingException { // ASCII码 String string ...原创 2019-11-13 19:15:56 · 2809 阅读 · 3 评论 -
使用SpringBoot/Spring时,如何中断运行中的接口
背景: 最近做了一个任务:将各个业务存于MySQL的旧日志文件(业务日志而非运行日志)迁移到新的日志系统中。众所周知,在企业级应用中,因用户各种操作而产生的日志是非常多的,那么在执行迁移日志的时候,接口执行的时间肯定会很长。这次迁移大概用了8个多小时才完全迁移成功。在开发环境写迁移代码的时候,领导有这么一个需求----希望在迁移的时候,能够随时中断迁移。解决: 接口在正常情况下,会一直执行下...原创 2019-11-11 21:14:09 · 3813 阅读 · 0 评论 -
解决SpringBoot/Spring在异步中无法注入实例问题
在Spring的全家桶中,使用@Autowired关键字无可避免,但是在异步中若是直接注入的话,会出现空指针异常,即注入不成功。 那究竟该如何注入了:import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.sp...原创 2019-09-17 19:08:15 · 1576 阅读 · 0 评论 -
SpringBoot 打包:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.6:resource
SpringBoot+Maven 打包:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.6:resource原创 2019-08-29 20:32:05 · 19967 阅读 · 5 评论 -
Field migrateDao in XXXXXX required a bean of type 'XXXX.MigrateRecordDao' that could not be found.
临时接到一个迁移旧数据的问题,代码只需要执行一次,执行完后为不影响项目的完整性,下一次迭代之时需要把该部分代码删除。因此将所有代码均置于一个叫做temp的子包下(controller,dao,service及service实现)。最后遇到了一下错误:Description:Field migrateDao in XX...原创 2019-08-24 16:40:51 · 3165 阅读 · 0 评论 -
Feign接口,请求头过大解决调用方案
简要描述:问题:通过feign调用其他业务接口时,参数如果很大,会报参数超长的异常。 方案:为了避免接口提供方代码改动,此时可以feign调用的参数转换为body传输,具体写法如下。 备注:Result为封装的包装类业务端接口:@RequestMapping(value = "/addTask", method = RequestMethod.POST) publ...原创 2019-07-11 16:00:35 · 7020 阅读 · 0 评论 -
Java利用Apache-POI解析doc和docx文档
背景介绍:前些天,公司需要做一个相当于wiki文档的项目,其中涉及到在SpringBoot的基础上将word的doc文档和docx文档解析为html格式文件的相关内容。格式介绍 :doc文档是微软为office定制的word2003版本之前的一种格式,docx是微软为word2007版本及之后所定制的一种文档格式,看后缀就知道其继承自doc,但它比doc格式更加的节省空间。在此也推荐大家都用do...原创 2019-07-15 22:24:59 · 2904 阅读 · 0 评论