Java框架

提供java开源框架学习,主要包括Spring、SpringMVC、Mybatis、Hibernate等企业主流技术,帮助学生快速掌握java框架技术。

最新文章

如何手动获取spring bean对象?

如何手动获取spring bean对象?

最近在开发的时候,由于经常用到多线程,在线程中无法通过@Autowired方式注解注入ApplicationContext中的bean,因为线程类一般不会交给spring管理,必须要使用手工获取spring bean对象的方法才能较好得实现相应的功能。 那怎么实现手动获取springApplicationContext中的bean对象呢? 方法1:通过实现S……

潘老师 3个月前 (10-19) 301 ℃ (0) (1)

Mybatis Datetime日期类型返回Json数据格式化处理

Mybatis Datetime日期类型返回Json数据格式化处理

在我们使用Mybatis开发时,针对数据库Datetime日期类型或者Timestamp日期类型时,在Mapper映射为Domain实体并通过@ResponseBody转为json格式的数据返回时,我们会发现,日期类型数据往往不是我们想要的格式,我们需要对其统一做格式化处理。 一、问题阐述 首先,Java潘老师带大家看下问题产生的情形: 1)数据库日期字段类……

潘老师 4个月前 (09-10) 345 ℃ (0) (1)

Quartz定时任务通过SimpleTrigger指定时间的间隔实现

Quartz定时任务通过SimpleTrigger指定时间的间隔实现

最近有个同学咨询关于Quartz框架定时任务的问题,但他不是使用的cron方式实现指定时间间隔执行某个代码逻辑,而是使用的是SimpleTrigger的方式来实现的。之前潘老师也只用过cron注解配置的方式实现过,SimpleTrigger定时执行某个方法还真没试过,但好在最后成功解决了他的bug,因此也趁这个机会整理下关于SimpleTrigger的实现Q……

潘老师 4个月前 (09-07) 356 ℃ (0) (1)

IDEA+SpringBoot整合Swagger2实现自动创建API接口文档详解

IDEA+SpringBoot整合Swagger2实现自动创建API接口文档详解

一、传统维护API文档缺点 当下很多公司都采取前后端分离的开发模式,前端和后端的工作由不同的开发人员完成。在这种开发模式下,维护一份及时更新且完整的REST API文档将会极大的提高我们的工作效率。传统意义上的文档都是后端开发人员手动编写的,相信大家也都知道这种方式很难保证文档的及时性,长期以往这种文档也就会失去其参考意义,反而还会加大前后端之间的沟通成本,……

潘老师 5个月前 (08-02) 511 ℃ (0) (3)

SpringBoot集成Swagger2报错Unable to infer base url. This is common…API Gateway

SpringBoot集成Swagger2报错Unable to infer base url. This is common…API Gateway

在使用IDEA+SpringBoot集成Swagger2时发现SpringBoot启动正常,没有报错,但当使用浏览器防止http://localhost:8080/swagger-ui.html地址时浏览器提示如下: 然后发现IDEA控制台也会不停的报错如下: 从报错情况可以看出是因为少jackson的相关jar包导致的(而缺少的原因也可能是SpringB……

潘老师 5个月前 (08-02) 451 ℃ (0) (1)

MyBatis-Plus的saveBatch批量插入为何效率很低,耗时很长,怎么解决?

MyBatis-Plus的saveBatch批量插入为何效率很低,耗时很长,怎么解决?

由于项目是使用MyBatis-Plus开发的,用起来也确实比较方便,尤其是service层封装好的一些通用的增删改查方法,省去了不少sql语句的书写,但是在开发过程中,我也发现MyBatis-Plus的saveBatch批量插入方法针对MySQL和Oracle数据库可能会出现效率贼低的情况,下面我们先具体来说说产生的原因是什么。 一、MySQL数据库 针对M……

潘老师 6个月前 (07-14) 2540 ℃ (0) (11)

SpringBoot整合spring-retry组件实现重试机制

SpringBoot整合spring-retry组件实现重试机制

一、重试机制 当我们调用一个接口时可能由于网络不稳定或网络抖动等原因造成第一次请求失败的情况,当我们再去尝试就成功了,这就是重试机制,其主要目的就是要尽可能地提高请求成功的概率,但一般情况下,我们请求第一次失败,代码运行就抛出异常结束了,如果想再次请求可能还需要手工操作,这非常地不方便,可行性也不佳。因此,Spring框架提供了对重试机制支持,并且在Spri……

潘老师 7个月前 (06-23) 836 ℃ (0) (4)

SpringBoot如何使用Undertow容器代替Tomcat

SpringBoot如何使用Undertow容器代替Tomcat

最近开发项目,顺丰那边人要求把SpringBoot中的Tomcat服务器替换为Undertow容器,我也是第一次听说这个容器,平时都是Tomcat用的多,既然听说了,那就要研究下,不然岂不是很可惜?毕竟既然说替换,那其必然有相对Tomcat在某些方面具备更大的优势。哈哈,好了,切入正题,我们都知道Spring Boot内嵌容器默认启动的都是Tomcat,但是……

潘老师 7个月前 (06-17) 817 ℃ (0) (3)

SpringBoot项目实现接口参数校验(含分组校验)与全局异常处理

SpringBoot项目实现接口参数校验(含分组校验)与全局异常处理

我们在开发SpringBoot项目时,有时候需要对外提供接口,对外暴露的接口在接收到请求参数时,我们无法保障参数是否满足我们的需求,比如是否为空、是否长度太长等等,如果我们自己手工一个个属性去校验,那将是非常的麻烦,因此,我们可以使用一些校验框架帮助我们实现改过程,如果存在不符合规则的属性,我们可以示使用全局异常来进行统一处理。下面,潘老师给大家实现一个案例……

潘老师 7个月前 (06-17) 772 ℃ (0) (6)

IDEA使用Log4j2后Console控制台日志打印没有彩色效果

IDEA使用Log4j2后Console控制台日志打印没有彩色效果

在开发过程中,发现IDEA使用SpringBoot整合Log4j2后Console控制台日志打印没有彩色效果,看上去很不爽,完全没有区分度,具体效果如下: 原因分析: IDEA控制台没有打印彩色日志的主要原因在于Log4j 2.10版本以后Log4j2默认关闭了Jansi(一个支持输出ANSI颜色的类库) 解决步骤: 我们采用两个步骤解决该问题: 1)打开……

潘老师 7个月前 (06-15) 968 ℃ (0) (1)