202110-15 springboot中Excel文件下载踩坑大全 目录项目场景:Springboot文件下载问题一:下载的文件名称出现中文乱码的问题问题二:在swagger中测试下载接口,点击下载的文件,发现文件名是乱码的问题问题四:开发环境下载成功,打成jar包发布到服务器上部署就出现下载失败问题完整代码项目场景:Springboot文件下载调用接口下载springboot工程的resources目录下的excel模板文件,非常常见的一个文件下载功能,但是却容易遇到很多坑,下面总结记录下。问题一:下载的文件名... 继续阅读 >
202110-15 Springboot 使用内置tomcat禁止不安全HTTP的方法 Springboot内置tomcat禁止不安全HTTP方法1、在tomcat的web.xml中可以配置如下内容让tomcat禁止不安全的HTTP方法<security-constraint><web-resource-collection><url-pattern>/*</url-pattern><http-method>PUT</http-method><http-method>DELETE</http-method><http-method>HEAD</http-method><http-method>OPTIONS</http-method><http-method>TRACE</http-method></web-resource... 继续阅读 >
202110-13 SpringBoot如何动态修改Scheduled(系统启动默认执行,动态修改) SpringBoot动态修改Scheduled场景:可配置的Scheduled执行时间,正常的Scheduled是在项目启动的时候固定死的,没办法根据调用后台代码自动更新Scheduled执行时间例如:系统启动读取时间Cron:003**?,通过执行后台方法可以动态配置Cron时间格式,并且清楚掉原本执行任务,执行新的设置定时任务时间1、根据ThreadPoolTaskScheduler、ScheduledFuture类动态修改定时任务(ThreadPoolTaskScheduler这个... 继续阅读 >
202110-13 SpringBoot2.动态@Value的实现方式 title:SpringBoot2.动态@Value实现前言前面文章有详细描述过各个不同阶段对于bean的扩展接口所以今天就基于BeanPostProcessor实现Spring中的@Value注解值动态变化基于上面也可以实现一个配置中心,比如说Apollo具体的实现步骤分为如下几步1.通过BeanPostProcessor取得有使用@Value注解的bean,并存储到map中2.动态修改map中的bean字段的值获取bean首先写一个类实现BeanPostProcessor接口,只需要使用其中的一个函数就可以。前后都... 继续阅读 >
202110-12 Springboot的spring-boot-maven-plugin导入失败的解决方案 Springbootspring-boot-maven-plugin导入失败因为之前换了本地仓库,再打开项目的时候就变成红色了,问题是其他依赖都导好了,只有这个家伙红的刺眼。找到仓库下的这个文件夹,把里面的文件删掉(或者直接删掉spring-boot-maven-plugin这个文件夹)在这里刷新,然后就是漫长的等待,网速不好可以再重复此步骤spring-boot-maven-plugin插件作用POM文件中添加了“org.springframework.boot:spring-boot-maven-plugin”插件。在添加... 继续阅读 >
202110-12 SpringBoot扫描不到Controller的解决方案 SpringBoot小白创建项目,扫描不到Controller一系列问题1.2.3.4.5.6.还有一种办法是在启动服务类的入门,添加@ComponentScan(basePackages={“xxx.xxx.xx”,“xxx.xxx.xx”})里面的是包的全限定名,可以为多个SpringBoot自定义controller无法扫描到SpringBoot自定义controller路由找不到,原因是启动类和自定义的Controller包不在同一级目录下。官方建议application.java放的位置:其余Bean与application.java放在同一个包路径... 继续阅读 >
202110-12 SpringBoot整合Redis管道的示例代码 目录1.Redis之管道(pipeline)2.SpringBoot整合Redis管道实例1.Redis之管道(pipeline)执行一个Redis命令,Redis客户端和Redis服务器就需要执行以下步骤:客户端发送命令到服务器;服务器接受命令请求,执行命令,产生相应的结果;服务器返回结果给客户端;客户端接受命令的执行结果,并向用户展示。Redis命令所消耗的大部分时间都用在了发送命令请求和接收命令结果上面,把任意多条Redis命令请求打包在一... 继续阅读 >
202110-12 springboot中@Value的工作原理说明 我们知道springboot中的Bean组件的成员变量(属性)如果加上了@Value注解,可以从有效的配置属性资源中找到配置项进行绑定,那么这一切是怎么发生的呢?下文将简要分析一下@Value的工作原理。springboot版本:springboot-2.0.6.RELEASE概述springboot启动过程中,有两个比较重要的过程,如下:1扫描,解析容器中的bean注册到beanFactory上去,就像是信息登记一样。2实例化、初始化这些扫描到的bean。@Value的解析就是在第二个阶段。... 继续阅读 >
202110-12 Springboot+mybatis-plus+注解实现数据权限隔离 目录1.创建注解2.具体实现1.创建注解当此注解打在类上,不需要传参,该类下所有查询接口开启数据隔离;打在方法上默认开启数据隔离,传参为false则该方法关闭验证/***数据权限验证注解*@authorxiaohua*@date2021/6/23*/@Documented@Target({METHOD,ANNOTATION_TYPE,TYPE})@Retention(RUNTIME)public@interfaceDataPermission{/***是否要进行数据权限隔离*/booleanisPermi()defaulttrue;}2.... 继续阅读 >
202110-12 详解Springboot下载Excel的三种方式 汇总一下浏览器下载和代码本地下载实现的3种方式。(其实一般都是在代码生成excel,然后上传到oss,然后传链接给前台,但是我好像没有实现过直接点击就能在浏览器下载的功能,所以这次一起汇总一下3种实现方式。)🔥1.EasyExcel--浏览器下载1.Maven环境网络上有很多maven的easyexcel版本,还是推荐alibaba的easyexcel,操作简单,代码不冗余<!--https://mvnrepository.com/artifact/com.alibaba/easyexcel-->... 继续阅读 >
202110-12 springBoot下实现java自动创建数据库表 SpringBoot环境启动项目创建数据库表使用环境windows+eclipse+mysql+navicat步骤1.创建SpringBoot项目2.新建数据库,配置连接信息3.编写初始化数据库表类4.运行查看结果1.创建SpringBoot项目关于如何创建SpringBoot项目不再详细描述,只要创建一个可以运行的SpringBoot项目就行。2.新建数据库,配置连接信息2.1新建数据库打开Navicat新建一个Mysql连接(连接信息如用户名,密码记好,下面配置连接信息要用),建立好连接后新建一个... 继续阅读 >
202110-12 SpringBoot读取Resource下文件的4种方法 SpringBoot读取Resource下文件最近在项目中涉及到Excle的导入功能,通常是我们定义完模板供用户下载,用户按照模板填写完后上传;这里待下载模板位置为resource/excelTemplate/test.xlsx,尝试了四种读取方式,并且测试了四种读取方式分别的windows开发环境下(IDE中)读取和生产环境(linux下jar包运行读取)。第一种:ClassPathResourceclassPathResource=newClassPathResource("excleTemplate/test.xlsx");InputStreaminputStr... 继续阅读 >
202110-12 SpringBoot集成Druid连接池连接MySQL8.0.11 目录1.配置依赖1.1MySQLConnector/J依赖配置maven1.2Druid依赖配置2.配置DataSource 2.1创建配置类2.2注意事项这篇博客简单介绍springboot集成druid连接池的简单配置和注意事项本次使用的是MySQL8.0.11版本前提:一个已经搭建好的SpringBoot项目和可以使用的数据库注意:MySQL8.0.X的配置和5.7.X有小差异,整体思路完全一样1.配置依赖依赖管理我们可以使用maven或者gradleMySQLConnector/J版本选择:注意:如果是MySQL5.... 继续阅读 >
202110-12 使用Springboot实现健身房管理系统 项目编号:BS-XX-076开发技术:springboot+springmvc+mybatis+shiro前端技术:BootStrap+Jquery+Ajax+Echarts开发工具:IDEA或ECLIPSE数据库:MYSQL5.7运行启动:GymxmjpaApplication启动类项目说明:本系统基于Springboot技术开发实现,同时采用SSM框架进行系统的后台开发,前端采用Bootstrap技术实现页面的设计与人机交互,数据库采用MYSQL5.7进行数据存储。为保证用户信息安全,密码采用MD5加密处理,并使用shiro框架进行权限... 继续阅读 >
202110-12 springboot更新配置Swagger3的一些小技巧 1.引入依赖,版本3.0.0只引入一个即可<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency>2.配置类SwaggerConfigpackageorg.fh.config;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importspringfox.documentation.builders... 继续阅读 >
202110-12 SpringBoot 拦截器妙用你真的了解吗 HandlerInterceptor详解HandlerInterceptor允许定制handler处理器执行链的工作流接口。我们可以自定义拦截器用于拦截handlers处理器(你可以理解为controller层的接口),从而可以添加一些共同的重复性的处理行为(例如接口鉴权,接口日志记录,性能监控等),而不用修改每一个handler的实现。注意,此基于SpringBoot2.3.12.RELEASE版本讲解。HandlerInterceptor接口只有三个默认空实现方法,在低版本中这三个方法不... 继续阅读 >