202010-10 浅谈springboot中tk.mapper代码生成器的用法说明 问:什么是tk.mapper?答:这是一个通用的mapper框架,相当于把mybatis的常用数据库操作方法封装了一下,它实现了jpa的规范,简单的查询更新和插入操作都可以直接使用其自带的方法,无需写额外的代码。而且它还有根据实体的不为空的字段插入和更新的方法,这个是非常好用的哈。而且它的集成非常简单和方便,下面我来演示下使用它怎么自动生成代码。pom中引入依赖,这里引入tk.mybatis.mapper的版本依赖是因为在mapper-spring-bo... 继续阅读 >
202010-10 SpringBoot集成Druid监控页面最小化配置操作 在项目中使用阿里的druid连接池,pom文件配置:<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.14</version></dependency>application.properties配置,官方文档可查:#Druid连接池配置,官方配置参考:https://github.com/alibaba/dr... 继续阅读 >
202010-10 idea显示springboot多服务启动界面service操作 如果是多模块的微服务,idea提供了一个可以多服务启动的界面services,如果你的项目里没看到这个界面:那么你需要在顶级的maven工程中找到这个配置,然后找到componentname="RunDashboard"这个节点整个替换掉:<componentname="RunDashboard"><optionname="configurationTypes"><set><optionvalue="SpringBootApplicationConfigurationType"/></set></option><optionname="ruleStates"><list><RuleS... 继续阅读 >
202010-10 解决SpringBoot中使用@Async注解失效的问题 错误示例,同一个类中使用异步方法:packagecom.xqnode.learning.controller;importcom.fasterxml.jackson.core.JsonProcessingException;importorg.springframework.scheduling.annotation.Async;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;importjava.util.HashMap;import... 继续阅读 >
202010-10 springboot实现防重复提交和防重复点击的示例 背景同一条数据被用户点击了多次,导致数据冗余,需要防止弱网络等环境下的重复点击目标通过在指定的接口处添加注解,实现根据指定的接口参数来防重复点击说明这里的重复点击是指在指定的时间段内多次点击按钮技术方案springboot+redis锁+注解使用feignclient进行请求测试最终的使用实例1、根据接口收到PathVariable参数判断唯一/***根据请求参数里的PathVariable里获取的变量进行接口级别防重复点击**@paramt... 继续阅读 >
202010-10 springboot使JUL实现日志管理功能 第一步:设置logging.properties的内容(放在resource文件夹下面)#输出两种方式handlers=java.util.logging.FileHandler,java.util.logging.ConsoleHandler.level=FINE#对日志的输出进行设置(主要是file类)#java.util.logging.FileHandler.pattern=%h/java%u.log#下面的是输出到制定的目录下java.util.logging.FileHandler.pattern=D:\\software\\idea\\idealianxicode\\springboot1\\src\\main\\resources/java%u.log#... 继续阅读 >
202010-10 SpringBoot实现阿里云短信接口对接的示例代码 前言公司最近项目需要一个手机验证码的功能,任务确定后,倍感亚历山大,以为和第三方对接的都好麻烦,查阿里的API、网上大神写的博客,各种查之后才发现,简单的一塌糊涂,这里想说个问题,不知道其他的攻城狮们是不是和我一样的心里,刚接触个没做过的任务时,会一脸懵里的着急,无从下手的感觉,后来会了,就觉得简单的一*,在这里我说一下自己的体会,遇到任何难点,先理思路、任务拆分、逐个查资料,其实一套下来,就不会那种... 继续阅读 >
202010-10 SpringBoot集成swagger-ui以及swagger分组显示操作 大家好,这篇文章展示下如何在springboot项目中集成swagger-ui。有人说,这都是老生常谈,网上的例子数不胜数。确实swagger诞生至今已经很久了,但是在使用过程中我遇到一个问题,下面给大家分享下我的使用心得吧。1.swagger配置类第一步,需要在pom中引入相应的配置,这里使用2.7.0的版本。需要注意的是2.7.0和2.8.0的版本在界面风格上差异很大,如果感兴趣,可以试试2.8.0以上的版本,我比较青睐使用2.7.0及以下的版本,因为界面... 继续阅读 >
202010-10 SpringBoot发现最新版Druid重大问题(坑) 发现Druid问题最近做项目,遇到大量插入的地方,经过大量的调试,最终发现是Druid连接池的问题,(以前一个大项目就遇到过Druid的坑),果断换成c3p0之后,压力测试哗哗上去了。下面是更换c3p0方法。1.修改pom.xml导入c3p0依赖:<dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.5</version></dependency>2.修改application.ymlspring:application:name:nh-tsthttp:encoding:... 继续阅读 >
202010-10 SpringBoot 配合 SpringSecurity 实现自动登录功能的代码 自动登录是我们在软件开发时一个非常常见的功能,例如我们登录QQ邮箱:很多网站我们在登录的时候都会看到类似的选项,毕竟总让用户输入用户名密码是一件很麻烦的事。自动登录功能就是,用户在登录成功后,在某一段时间内,如果用户关闭了浏览器并重新打开,或者服务器重启了,都不需要用户重新登录了,用户依然可以直接访问接口数据作为一个常见的功能,我们的SpringSecurity肯定也提供了相应的支持,本文我们就来看下Spring... 继续阅读 >
202010-10 解决springboot 多线程使用MultipartFile读取excel文件内容报错问题 springboot项目开启多线程启动类加注解开启@EnableAsync,实现类方法加注解@Async前端页面报错信息java.io.FileNotFoundException:C:\Users\dongao\AppData\Local\Temp\tomcat.1255209411477782290.8051\work\Tomcat\localhost\ROOT\upload_7d7b99e5_38da_4a03_93e0_bff20cb48022_00000000.tmp(系统找不到指定的文件。)atjava.io.FileInputStream.open0(NativeMethod)atjava.io.FileInputStream.open(FileInputStream.jav... 继续阅读 >
202010-10 SpringBoot配置mybatis驼峰命名规则自动转换的实现 一、简述mybatis驼峰式命名规则自动转换:使用前提:数据库表设计按照规范“字段名中各单词使用下划线"_"划分”;使用好处:省去mapper.xml文件中繁琐编写表字段列表与表实体类属性的映射关系,即resultMap。示例:<resultMapid="UserInfoMap"type="com.example.mybaitsxml.dao.entity.User"><resultcolumn="name_"property="name"/><resultcolumn="sex"property="sex"/><resultcolumn="age"property="age"/>... 继续阅读 >
202010-10 解决springboot项目上传文件出现临时文件目录为空的问题 最近写文件上传到服务器读取的代码,前端使用FormData上传,服务端用MultipartFile接收,自己测试了下MultipartFile对象有什么东西,结果一般属性都能出来,测试getInputStrea()方法的时候出现了以下错误,简单一看这是什么目录,从来没见过啊:百度一番之后发现了这是临时文件存放的路径,不清楚根据什么去放在这个目录的,但是这个目录本机的确没有,linux系统下好像系统会10天清空一次,翻阅了API底下有这个百度的时候也发现另... 继续阅读 >
202010-10 解决spring boot启动扫描不到自定义注解的问题 对于自定义注解这里就不唠叨了,百度一大堆,这里有我一个自定义注解@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public@interfaceMsgEvent{RetailOrderEventmsgEvent();}注解实现类@ComponentpublicclassMsgEventProcessorimplementsBeanPostProcessor{/***事件消息注解与实例Bean的映射对象*/publicstaticMap<String,ServiceBean>EVENTCODESERVICEBEANMAP=newHashMap<Stri... 继续阅读 >
202010-10 解决springboot+shiro 权限拦截失效的问题 最近因为项目需要,接触了shiro。新手入门发现权限拦截失效,一直以为是以为授权和DB的问题研究了一个下午,终于发现了问题所在我的访问路径没有写前面的斜杠!!,而DB中的资源路径是可以省略的,崩溃了吧但是问题来了,为什么在其他地方可以忽略掉前面的小斜杠呢?经过几分钟的捣鼓发现,在springboot中,不论是thymeleaf的模板也好(我用的thymeleaf),还是后端代码也好,底层会自动补全这个斜杠问题解决!!补充知识:SpringB... 继续阅读 >
202010-10 基于Springboot吞吐量优化解决方案 一、异步执行实现方式二种:1.使用异步注解@aysnc、启动类:添加@EnableAsync注解2.JDK8本身有一个非常好用的Future类——CompletableFuture@AllArgsConstructorpublicclassAskThreadimplementsRunnable{privateCompletableFuture<Integer>re=null;publicvoidrun(){intmyRe=0;try{myRe=re.get()*re.get();}catch(Exceptione){e.printStackTrace();}System.out.println(myRe);}publicstatic... 继续阅读 >