用SpringBoot写的MVC程序(内置Tomcat运行、View展示层用的JSP)打包成jar包,运行在Linux服务器上,刚开始没有什么问题,但是运行了一段时间后,总有几个页面点上去显示500错误。 查看日志,后台报错信息如下: 2022-07-09 11:47:17.296 [http-nio-8084-exec-5] ERROR o.a.c.c.C.[.[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatch…

2022-07-10 0条评论 596点热度 0人点赞 admin 阅读全文

SpringBoot项目里,我们可能需要读取一些自定义的配置文件等,这些文件放在resources目录下,有时候,我们在idea开发时明明是可以读取到文件的,一旦打包成jar放到服务器上运行就会报错,说找不到指定的文件。 方面整理了几个我平常项目中读取resources(或者resources下面子文件夹)下的文件的方式 方式1 class.getClassLoader().getResourceAsStream String fileContent = IOUtils.toString(MyApplication…

2022-07-05 0条评论 632点热度 0人点赞 admin 阅读全文

SpringBoot下配置好RabbitMQ发现消息的消费处理是单线程处理的,在有些业务逻辑下是需要多线程并发消费消息的。经过一番研究,总结下实现多线程并发执行消费消息的配置:给ConnectionFactory指定自定义的线程池(TaskExecutor): 新增RabbitmqConfig.java import org.springframework.amqp.core.AcknowledgeMode; import org.springframework.amqp.rabbit.config.SimpleR…

2022-07-04 0条评论 3111点热度 0人点赞 admin 阅读全文

Hikari是一款非常强大,高效,并且号称“史上最快连接池”。并且在springboot2.0之后,采用的默认数据库连接池就是Hikari。不需要引入依赖,已经在SpringBoot中包含了。 application.yml的默认配置为: spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/testdb?allowPublicKeyRetrieval=true&aut…

2022-07-01 0条评论 1265点热度 0人点赞 admin 阅读全文

升级了SpringBoot2.7后,SpringBoot程序无法启动了,报错如下: 2022-06-26 12:21:11.596 ERROR 6014 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; neste…

2022-06-27 0条评论 1229点热度 0人点赞 admin 阅读全文

SpringBoot下使用RabbitMQ发送消息,最简单或者默认的方式是发送和接受string类型的,如果你遇到要发送复杂的Java实体类,那么简单的办法就是将其序列化成JSON后发送(例如使用Jackson的ObjectMapper工具),接收方再将JSON消息反序列化成Java实体类,但是这样做显然不够优雅,要处理的重复代码很多。我们可以做配置,让程序自动完成转化这样事情。 pom.xml 下增加mq相关依赖以及fastjson的依赖 <dependency> <groupId>org…

2022-06-26 0条评论 1233点热度 0人点赞 admin 阅读全文

最近有个项目,要使用aliyun的vod功能,有一个VOD的上传功能,需要一个本地的jar包,maven库是没有的 maven加载本地jar包的设置比较简单,我在项目的根目录新增了libs文件夹,然后把jar包放在里面,pom.xml如下: <dependency> <groupId>com.aliyun.vod</groupId> <artifactId>upload</artifactId> <version>1.4.14</vers…

2022-06-23 0条评论 854点热度 0人点赞 admin 阅读全文

前不久Spring Boot 2.7.0 刚刚发布,Spring Security 也升级到了5.7.1 。升级后发现,原来一直在用的Spring Security配置方法,居然已经被弃用了。不禁感慨技术更新真快,用着用着就被弃用了!今天带大家体验下Spring Security的最新用法,看看是不是够优雅! 在Spring Boot 2.7.0 之前的版本中,我们需要写个配置类继承WebSecurityConfigurerAdapter ,然后重写Adapter中的三个方法进行配置; /** * SpringSe…

2022-06-05 0条评论 2188点热度 0人点赞 admin 阅读全文

把SpringBoot项目中连接的MySQL数据库从5.7升级到了8.0后,启动项目后,出现如下错误,且无法启动。 报错信息如下: Caused by: java.lang.NullPointerException: null at com.mysql.jdbc.ConnectionImpl.getServerCharacterEncoding(ConnectionImpl.java:3286) at com.mysql.jdbc.MysqlIO.sendConnectionAttributes(MysqlIO.j…

2022-05-28 0条评论 1357点热度 0人点赞 admin 阅读全文

今天升级了Spring项目的SpringBoot版本(2.5.x->2.7.x)再次启动后,console日志打印出红色的: 另外发现除了log.error能显示外,log.warn log.info都无法显示出来了。 我的SpringBoot项目时候的是log4j作为日志系统的,如何配置详见:https://blog.terrynow.com/2021/07/27/springboot-config-log4j-pattern-and-split/,之前引用的是: <dependency> &l…

2022-05-26 0条评论 681点热度 0人点赞 admin 阅读全文
123458