java
文章平均质量分 54
广州的程序猿
菜鸟程序员,学代码过程遇到问题分享,望各位大佬指点迷津
展开
-
@Scheduled定时任务没有按时执行的问题与解决方法
后来查了下,原来这种定时方式默认是单线程执行的,恰好我这里有多个定时任务,并且其中有个在4:40之前的定时任务比较耗时,导致4:40的任务只能等待之前的任务执行完成才能够触发,所以要自己手动把定时任务设置成多线程的方式才行。留个坑,从日志上看@Async方式针对同一任务也是异步的,也即task1每5s会执行一次,但是方式二貌似对同一个任务不会生效,task1执行的时候需等待上一次执行结束才会触发,并没有每5s执行一次。设置两个定时任务,每5s执行一次,并打印出其执行情况。//模拟耗时任务,阻塞10s。转载 2023-04-06 10:47:50 · 4137 阅读 · 0 评论 -
URLDecode解码异常:java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%)
这里使用了一个特殊正则表达式:零宽负向先行断言(zero-widthnegative lookahead assertion),模式为(?pattern),代表字符串中的一个位置,紧接该位置之后的字符序列不能匹配pattern。[0-9a-fA-F]{2})意思是'%'开始,不匹配%后面两位为数字或字母(包括大小写)的字符;这样就把正确的排除掉了,剩下的就是需要匹配替换的。版权声明:本文为CSDN博主「Bolon0708」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原创 2023-02-17 17:58:16 · 2107 阅读 · 0 评论 -
SpringBoot 项目打成 .exe 程序,实战来了,超级详细!
近期做了一个前后端合并的spring boot项目,但是要求达成exe文件,提供给不懂电脑的小白安装使用,就去研究了半天,踩了很多坑,写这篇文章,是想看到这篇文章的人,按照我的步骤走,能少踩坑。原创 2022-12-24 11:58:26 · 402 阅读 · 0 评论 -
Mybatis Plus 3.4.0分页拦截器的用法,解说mybatis plus 3.4.0的新内置插件
新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)动态表名插件: DynamicTableNameInnerInterceptor。乐观锁插件: OptimisticLockerInnerInterceptor。分页插件: PaginationInnerInterceptor。主体插件: MybatisPlusInterceptor。原创 2022-09-06 16:02:54 · 719 阅读 · 0 评论 -
【Mybatis $ #的区别】
(1)在sql语句中,如果要接收传递过来的变量的值的话,必须使用#。因为使用#是通过PreparedStement接口来操作,可以防止sql注入,并且在多次执行sql语句时可以提高效率。对于sql语句中非变量部分,那就可以使用$,比如$方式一般用于传入数据库对象(如传入表名)。select * from ${tableName},$ 对于不同的表执行统一的查询操作时,就可以使用$来完成。(3)如果在sql语句中能同时使用#和$的时候,最好使用#。(1)$作用相等于是字符串拼接。3、#和$使用场景不同。原创 2022-09-03 10:53:40 · 127 阅读 · 0 评论 -
前端传值,后端使用Map接受
前端使用ajax parmas传值 @RequestParam Mapdata 传值 @RequestBody Map params。原创 2022-09-02 17:29:25 · 1895 阅读 · 0 评论 -
SpringBoot解决跨域的5种方式
这么一解释,就明白了RestTemplate是什么了,就是一个类似于HttpClient一样的框架,封装了一些get请求,post请求,put请求等等请求的方法,用来模拟请求,让我们可以通过Java程序想其他不同端口的服务接口访问数据。例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。其实无论哪种方案,最终目的都是修改响应头,向响应头中添加浏览器所要求的数据,进而实现跨域。原创 2022-09-02 16:39:28 · 4688 阅读 · 0 评论 -
docker中启动redis整合Springboot提示错误解决方案
错误原因:Redis配置为保存RDB快照,但目前无法在磁盘上持久化。可能修改数据集的命令被禁用,因为此实例配置为在RDB快照失败时报告写入期间的错误。设置 stop-writes-on-bgsave-error值为no即可避免这种问题。(2)找到stop-writes-on-bgsave-error字符串所在位置,(1)vim打开redis-server配置的redis.conf文件,直接修改redis.conf配置文件,修改后需要重启redis。(3)把后面的yes设置为no。原创 2022-08-24 09:52:53 · 1024 阅读 · 0 评论 -
Java中List去重和Stream去重的示例分析
我们知道,也必须背过这样一个准则equals返回true的时候,hashcode的返回值必须相同.这个在背的时候略微有些逻辑混乱,但只要了解了HashMap的实现方式就不会觉得拗口了。事实上,HashSet是由HashMap来实现的(没有看过源码的时候曾经一直直观的以为HashMap的key是HashSet来实现的,恰恰相反)。那么,由此也可以看出HashSet的去重复就是根据HashMap实现的,而HashMap的实现又完全依赖于hashcode和equals方法。那么如何根据这两个做到的呢?...原创 2022-08-02 13:44:52 · 2770 阅读 · 1 评论 -
【axios】get/post请求params/data传参总结
最近突然发现post请求可以使用params方式传值,然后想总结一下其中的用法。总体来说,只要使用?params?get与post请求基本是一样使用的,如果参数名与传递名称不一致,需要使用修饰,若使用Map接收参数,必须使用修饰。但是如果想传list类型的数据,需要使用单独的方法处理(参考链接)。若使用data传递参数,必须使用一个实体类接收参数,而且需要添加注解进行修饰。【axios】get/post请求params/data传参总结https。...原创 2022-07-30 10:26:54 · 11427 阅读 · 0 评论 -
Map遍历 key-value 的4种方法
2、方法一先用keySet()取出所有key值,再取出对应value——使用迭代器遍历。3、方法二先取出所有的key,再通过key取出对应的value——使用迭代器遍历。4、方法三通过entrySet()获得key-value值——增强for循环遍历。5、方法四通过entrySet()获得key-value值——使用迭代器遍历。取出所有key值,再取出对应value——增强for循环遍历。取出所有key值,再取出对应value——使用迭代器遍历。是Map的一个内部接口。...原创 2022-07-15 13:57:06 · 2177 阅读 · 0 评论 -
SpringBoot注解最全详解(整合超详细版本)
使用注解的优势: 1.采用纯java代码,不在需要配置繁杂的xml文件 2.在配置中也可享受面向对象带来的好处 3.类型安全对重构可以提供良好的支持 4.减少复杂配置文件的同时亦能享受到springIoC容器提供的功能一、注解详解(配备了完善的释义)------(可采用ctrl+F 来进行搜索哦~~~~)@SpringBootApplication:申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration ,@EnableAutoCo原创 2022-06-18 13:39:45 · 8508 阅读 · 1 评论 -
java 千分位的添加和去除
将一个数字转换为有千分位的格式:NumberFormatnumberFormat1=NumberFormat.getNumberInstance();System.out.println(numberFormat1.format(11122.33));//结果是11,122.33NumberFormatnumberFormat2=NumberFormat.getNumberInstance();numberFormat2.setGroupingUsed(false);//设置了以后...原创 2022-04-07 10:59:59 · 1898 阅读 · 0 评论 -
QueryWrapper中常用方法,用法大全
AbstractWrapper 下的方法及使用@H_419_13@方法名 说明 使用 allEq(Map<R,V> params) 全部 =(或个别 isNull) allEq(params,true) eq = eq(“real_name”,“王昭君”) ne <> ne(“nick_name”,“空想 4”) gt > gt(“age”,21) ge >= ge(“ag原创 2022-01-15 17:05:32 · 25931 阅读 · 0 评论 -
SpringBoot后端表单校验
简单后端验证代码分析原创 2021-12-27 14:52:29 · 290 阅读 · 0 评论 -
SpringBoot 实现前后端分离的跨域访问(CORS)
序言:跨域资源共享向来都是热门的需求,使用CORS可以帮助我们快速实现跨域访问,只需在服务端进行授权即可,无需在前端添加额外设置,比传统的JSONP跨域更安全和便捷。一、基本介绍简单来说,CORS是一种访问机制,英文全称是Cross-Origin Resource Sharing,即我们常说的跨域资源共享,通过在服务器端设置响应头,把发起跨域的原始域名添加到Access-Control-Allow-Origin 即可。1. CORS工作原理CORS实现跨域访问并不是一蹴而就的,需要借助浏览器原创 2021-12-07 17:30:03 · 1454 阅读 · 0 评论 -
springboot整合thumbnailator实现图片压缩
前言最近由于首页产品列表图片显示太慢,经过研究发现是用户上传的图片太大。针对这个问题,想到的解决方案是:1、 产品上传时,限定图片上传大小不超过2m2、 上传成功后将产品图片进行压缩,但是保留原图片,压缩后的图片名称添加后缀”-thumbnail”3、 对已经上传的产品图片全部进行压缩4、 前端只有在点击查看产品大图时显示原图,其他情况均显示缩略图实现根据需求,找到的解决方法是使用net.coobird.thumbnailator依赖包,实现图片压缩和将指定目录下的图片全原创 2021-11-26 10:14:29 · 2410 阅读 · 0 评论 -
Vue报错Module build failed: Error: Node Sass version 6.0.1 is incompatible with ^4.0.0.解决方案
错误提示:ERROR Failed to compile with 1 errors 下午6:51:57error in ./src/views/Login.vueModule build failed: Error: Node Sass version 6.0.1 is incompatible with ^4.0.0.at getSassImplementation (D:\IDEA\IDEA Projects\Vue\hello-vue\node_modules\_sass-loa原创 2021-11-12 18:12:11 · 1732 阅读 · 0 评论 -
vue怎么安装element-ui教程
一、element ui的安装1.在项目中打开cmd命令窗口,输入命令---- npm i element-ui -S命令图1安装成功:图22.安装成功,将其引入到自己的项目中,具体操作步骤如下:在main.js文件中 引入 element 组件 :import ElementUI from 'element-ui'import 'element-ui/lib/theme-chalk/index.css'Vue.use(ElementUI)...原创 2021-10-20 17:28:57 · 16674 阅读 · 0 评论 -
SpringBoot:统一JSON信息返回
调用后端服务后的返回结果有多种类型,如:String,Integer,Boolean,List,Map等,在一个项目中,为了保持统一性,我们方法返回结果可以全部使用JSON数据格式,如下:{ "code":200, "msg":"成功", "data":"JSON数据"}其中code是本次请求处理结果对应的状态码,msg是状态码对应的解释信息,data是要返回的数据内容,可以是任意一个对象。封装响应信息对象public class ResponseEn.原创 2021-09-16 15:41:36 · 7428 阅读 · 0 评论 -
Springboot,返回类型设置application/json
Springboot默认返回Content-Type是text/plain,如果希望所有返回接口Content-Type都改成application/json,需要配置一下。@Configurationpublic class WebConfiguration implements WebMvcConfigurer { @Override public void configureContentNegotiation(ContentNegotiationConfigurer conf原创 2021-09-16 15:35:51 · 2538 阅读 · 0 评论 -
2021-09-16利用SpringBoot返回一个json对象
基于SpringBoot如何返回一个json对象?开发过程中,接口是必不可少的,那么提前约定数据格式就成了必不可少的步骤。一般情况下大家都是用json格式来传递数据,今天就用spring boot来实现一下返回json对象的步骤。1、首先创建一个spring boot项目,在spring boot项目下写一个实体类,随便写几个属性意思意思。2、把controller写起来,如果习惯了写springmvc,那么写出来的代码就是这样的了,主要依赖的@Controller、@ResponseBody注解原创 2021-09-16 15:30:40 · 1502 阅读 · 0 评论 -
MAVEN下载配置安装
maven的下载安装配置教程(详细图文)想要实现一个优秀的项目,光靠自己一个码农是很难的,我们需要引入别人已经集成好的类包来帮助我们优化项目,这个时候就需要使用maven了。一、maven是什么Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具。通俗的讲maven就是专门用于构建和管理项目的工具,他可以帮助我们去下载我们所需要jar包,帮助我们去管理项目结构,帮助我们去实现项目的维护、原创 2021-09-03 15:56:51 · 132 阅读 · 0 评论 -
Mybatis模糊查询案例
1、根据姓名模糊查询员工信息1.1、方式一步骤一:编写配置文件步骤二:测试步骤三:分析此种方式需要在调用处手动的去添加“%”通配符。1.2、方式二说明:使用方式一可以实现模糊查询,但是有一点不方便的地方就是:在测试类中,调用selectList()方法传参时需要调用者手动的添加%号通配符,显然是麻烦的,能否在映射配置文件中直接将%号写好呢?有的朋友可能会这么想,好办,直接在配置文件中这么写:形如1:测试后发现,程序会报错,原因是:缺少单引...原创 2021-09-02 10:53:35 · 626 阅读 · 0 评论 -
MD5的使用
MD5是什么?MD5是message-digest algorithm 5(信息-摘要算法)的缩写,被广泛用于加密和解密技术上,它可以说是文件的"数字指纹"。任何一个文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变。因此,我们可以通过对比同一文件的MD5值,来校验这个文件是否被"篡改"过。 MD5到底有什么用? 当我们下载了文件后,如果想知道下载的这个文件和...原创 2021-08-31 11:43:50 · 904 阅读 · 0 评论 -
Springboot常用注解,必须掌握
1.Spring注解注解分为两类1.注册Bean注解,将实例化的对象转化成Bean,放入IOC容器中等待调用2.使用Bean注解,将在XML文件中配置好的Bean拿来用完成属性方法的组装自己常用@Component ,@Repository,@Service,@Controller,@MaperScan,@Autowride,@Configuration,@RequestController,@RequestMapping,@Bean,@SpringApplication,@Enable,@Pu原创 2021-08-28 17:27:38 · 641 阅读 · 0 评论 -
SpringBoot——登录验证码实现
今天记录一下验证码的实现,希望能够帮助到大家!首先我们看一下实现的效果:此验证码的实现没有用到太多的插件,话不多说直接上代码,大家拿过去就可以用。中间用到了org.apache.commons.lang3.RandomUtils工具类,需要pom配置:<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> ...原创 2021-07-31 14:13:14 · 1822 阅读 · 0 评论 -
sun.util.calendar.LocalGregorianCalendar是内部专用 API, 可能会在未来发行版中删除
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <!-- 指定最新插件的版本号--> <version>2.3.2</version> <configuration> <!-- 指定高版本的源码和编译后的字节码文件.原创 2021-07-26 14:32:23 · 407 阅读 · 0 评论 -
Spring Boot 常用注解
40 个 Spring Boot 常用注解一、Spring Web MVC 与 Spring Bean 注解Spring Web MVC 注解@RequestMapping@RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射。Spring MVC和Spring WebFlux都通过RquestMappingHandlerMapping和RequestMappingHndlerAdapter两个类来提供对@RequestMapping注解的支持。@Re原创 2021-07-26 14:13:16 · 331 阅读 · 0 评论 -
2021-07-25
一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$有两位小数的正实数:^[0-9]+(.[0-9]{2})?$原创 2021-07-25 08:28:35 · 74 阅读 · 0 评论 -
2021-07-18springboot 整合logback实现日志出入到不同文件当中(含sql输出到制定文件中)
springboot 整合logback实现日志出入到不同文件当中(含sql输出到制定文件中)一 概述1.1 概述我们在本地开发,在配置文件中配置了Mybatis的相关参数,将sql语句输入到控制台上,但是在生产上我们为了排错或者查看sql的执行过程,就需要查看日志,所以Mybatis执行sql不仅要能在控制台打印输出,还要能写入日志文件待查。之前看过的好多博客只是解决了日志向控制台打印的问题。怎么将日志写到制定的文件,遇到了好了问题,无法将日志写到制定的文件中,麻蛋,网上一堆资料,都是瞎比咧咧,解原创 2021-07-18 09:10:00 · 680 阅读 · 0 评论 -
2021-06-21定时任务案例
"*/5 * * * * ? " 每隔5秒执行一次"0 */1 * * * ? " 每隔1分钟执行一次“0 0 12 * * ?” 每天中午十二点触发“0 0 23 * * ?” 每天23点执行一次“0 0 1 * * ?” 每天凌晨1点执行一次“0 0 1 1 * ?” 每月1号凌晨1点执行一次“0 0 23 L * ?” 每月最后一天23点执行一次“0 0 1 ? * L” 每周星期天凌晨1点实行一次“0 26,29,33 * * * ?”原创 2021-06-21 13:41:03 · 96 阅读 · 0 评论 -
Dateutil工具类
时间格式字符串转LocalDateTimepublic static LocalDateTime parseStringToDateTime(String time) { String format = "yyyy-MM-dd HH:mm:ss"; DateTimeFormatter df = DateTimeFormatter.ofPattern(format); return LocalDateTime.parse(time, df); }时原创 2021-05-01 01:36:19 · 210 阅读 · 1 评论 -
java编程题:以三种不同方式输出九九乘法表(java)
第一种方式:方形打印结果:1*1=1 2*1=2 3*1=3 4*1=4 5*1=5 6*1=6 7*1=7 8*1=8 9*1=9 1*2=2 2*2=4 3*2=6 4*2=8 5*2=10 6*2=12 7*2=14 8*2=16 9*2=18 1*3=3 2*3=6 3*3=9 4*3=12 5*3=15 6*3=18 7*3=21 8*3=24 9*3=27 1*4=原创 2021-04-22 13:42:33 · 658 阅读 · 0 评论 -
SpringBoot,Spring 中常用注解@RequestMapping/@GetMapping/@PostMapping /@PutMapping/@DeleteMapping介绍
**SpringBoot,Spring 中常用注解@RequestMapping/@GetMapping/@PostMapping /@PutMapping/@DeleteMapping介绍**1、@Controller@Controller 用来响应页面,表示当前的类为控制器。2、@RestController@RestController 是@ResponseBody和@Controller的结合表明当前类是控制器且返回的是一组数据,不是页面3、@Autowired这个注解的作用是将其原创 2021-04-22 10:32:19 · 447 阅读 · 0 评论 -
nacos报错jdbc,问题记录
1.下载8.0.23以上的mysql,请下载1.3.1版本的nacos2.下载5.7.32以下的mysql, 请下载1.2.1版本的nacos原创 2021-04-16 22:51:32 · 587 阅读 · 0 评论 -
SpringBoot注解最全详解(整合超详细版本)
使用注解的优势:1.采用纯java代码,不在需要配置繁杂的xml文件2.在配置中也可享受面向对象带来的好处3.类型安全对重构可以提供良好的支持4.减少复杂配置文件的同时亦能享受到springIoC容器提供的功能一、注解详解(配备了完善的释义)------(可采用ctrl+F 来进行搜索哦~~~~)@SpringBootApplication:申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration ,@EnableAutoConfigura原创 2021-04-13 12:28:16 · 137 阅读 · 0 评论 -
GitHub
一、配置git进入File ->settings然后搜索git,并找到自己git.exe的安装路径然后点击Test,会提示是否成功二、导入git项目然后输入对应的git地址以及存放本地路径然后点击login to github,输入账号密码进行登录,以及点击Test对其进行测试是否可以连通...原创 2021-03-30 11:05:27 · 70 阅读 · 0 评论 -
springboot.exe运行脚本
玩转springboot,改成.exe项目部署环境,有需要可以了解下载exe4j添加链接描述原创 2021-03-29 09:38:55 · 121 阅读 · 0 评论 -
Spring boot之返回json数据
Spring boot之返回json数据googleoyyp 2017-03-02 21:44:01 2806 已收藏 1分类专栏: Spring boot 文章标签: spring json版权Spring boot怎么返回json数据?返回JSON的步骤:(1)编写一个实体类Demo(2)编写DemoController;(3)在Controller加上@RestController和@RequestMapping注解;(4)测试我们在原先的项目基础上个编写一个Dome实体类原创 2021-02-02 11:22:57 · 334 阅读 · 2 评论