
java实战
onlyljy
做一个快乐的码农
展开
-
使用EasyExcel导出数据时,出现No converter for [class com.ttfund.crm.model.ResultInfo] with preset Content-Type
1.异常日志[http-nio-8012-exec-44] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [/crm] threw exception [Request processing failed; nested exception is org.springframework.http.converter.Http原创 2021-11-30 14:01:25 · 11031 阅读 · 9 评论 -
json参数中包含集合对象传递接收方式
1.参数接收方式,以json格式接收数据,所以用对象MoreBankStatementShareParam接收参数,具体参数为对象的集合2.参数传递,必须用JSONArray做为集合存放对象参数原创 2021-11-08 16:10:16 · 1953 阅读 · 0 评论 -
springBoot项目使用Mybatis generator
1.在pom中引入所需坐标 <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency>&l原创 2021-10-14 09:51:01 · 401 阅读 · 0 评论 -
springBoot项目多数据源配置
1.application.yml配置文件,sqlserver、oracle、mysql三种不同类型数据库# 数据源配置hikari: crm: url: jdbc:sqlserver://172.00.00.00:00000;DatabaseName=xxxxxx username: xxxxxx password: xxxxxx minimum-idle: 2 maximum-pool-size: 2 connection-timeout: 300原创 2021-10-09 18:12:00 · 433 阅读 · 0 评论 -
springboot项目同一个类中使用Cacheable不生效
1.原因:Cacheable默认使用aop代理方式,通过创建内部类形式实现,而同一个类中调用无法通过代理,所以缓存不生效2.解决方法:在当前类中注入该类的bean对象,通过当前对象的代理对象实现缓存public class CacheManagerService { private static Logger logger= LoggerFactory.getLogger(CacheManagerService.class); @Resource private CacheMa原创 2021-09-27 18:12:13 · 2080 阅读 · 0 评论 -
Property or field ‘key‘ cannot be found on object of type ‘org.springframework.cache.interceptor.Ca
错误信息 org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'dc_PartEnumTypeInfo' cannot be found on object of type 'org.springframework.cache.interceptor.CacheExpressionRootObject' - maybe not public or not valid? at org原创 2021-09-27 17:47:43 · 2603 阅读 · 0 评论 -
java获取某日期上个月最后一天
Calendar c = Calendar.getInstance(); //当前日期设置为指定日期 c.setTime(new Date()); //指定日期月份减去一 c.add(Calendar.MONTH, -1); //指定日期月份减去一后的 最大天数 c.set(Calendar.DATE, c.g...原创 2021-09-27 17:28:55 · 4396 阅读 · 0 评论 -
java定时执行服务
//获取Calendar对象,用于自定时时间 Calendar calendar = Calendar.getInstance(); //设置每天凌晨 00:00:00 重跑服务 calendar.set(Calendar.HOUR_OF_DAY,0); calendar.set(Calendar.MINUTE,0); calendar.set(Calendar.SECOND,...原创 2021-09-13 19:42:17 · 185 阅读 · 0 评论 -
get请求时(Request)的参数(Parameter)特殊符号丢失
在使用get请求对手机号加解密时,发现加密时正常,解密时偶尔出现异常,于是打断点、看日志,最终发现后端收到的参数和前端请求时的参数偶尔不一致的情况,而请求参数中的 ”+“号一直丢失,后端收到的是空格。通过百度得知在url中 “+” 是特殊符号,而特殊符号在url中是不能传递的,如果需要用的,必须先转义,使用他们的编码,编码的格式为:%加字符对应字符的ASCII(16进制)码值。例如 ” + “的编码值是"%2B",对于加解密方法来说转义太麻烦了,于是立马将请求方式改为post传递json格式数据url特殊原创 2021-09-10 17:15:40 · 2703 阅读 · 0 评论 -
JSON parse error: Invalid UTF-8 start byte 0xb7 异常,windows环境下cmd窗口运行jar包中文参数乱码
1.springBoot项目,本地idea中运行没问题,部署到线上服务器(window服务器)后,采用postman测试对于json传参中某些汉字出现时报错查看后台日志,发现问题原因2.在项目中使用到token拦截器,对于json格式请求参数,使用到request包装类RequestWrapper继承HttpServletRequestWrapper,因为inputStrream流只能读取一次,在拦截器中获取到值进行验证后,在controller中就获取不到值了,所以使用RequestWrapper原创 2021-09-10 17:00:47 · 4359 阅读 · 0 评论 -
mybatis批量修改数据
1.代码 <update id="qualityAudit" parameterType="list"> <if test="list !=null and list.size > 0 "> <foreach collection="list" item="item" index="index" open="" close="" separator=";"> update t_qc_fund_原创 2021-09-06 14:52:11 · 668 阅读 · 0 评论 -
java form-data格式上传文件或文件二进制流
1.上传文件 String result=""; PostMethod post = new PostMethod(url); Part[] parts = { new StringPart("token", "1F019648B56CF2C2A380248ED6F4A650"), new StringPart("key", "111111111111111"), new FilePart原创 2021-08-31 15:21:51 · 1853 阅读 · 0 评论 -
ehcache存储异常java.io.NotSerializableException
1.在使用echcache配置文件时,将对象存储到磁盘出现异常 java.io.NotSerializableException2.原因可能是存储的对象为实现Serializable接口,只需要给存储对象实现接口即可原创 2021-08-23 15:05:50 · 724 阅读 · 0 评论 -
springBoot项目使用apollo
1.输入地址:http://*******:8070进入apollo配置中心2.点击创建新项目3.新增配置,提交发布4.引入apollo坐标 <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>原创 2021-08-23 13:46:07 · 393 阅读 · 0 评论 -
java删除临时文件失败
1.使用 FileUtils.delete(file); 或者 file.delete(); 去删除临时文件,发现无论如何都删除不掉2.使用如下发法,一般调用 System.gc();后一次就会将文件删除掉,最多不会超过十次 //删除临时文件 boolean result = false; int tryCount = 0; while(!result && tryCount++ <10)原创 2021-08-13 14:57:22 · 1585 阅读 · 0 评论 -
ftp文件上传、下载、删除
package com.ttfund.crm.sync.utils;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPFile;import org.apache.commons.net.ftp.FTPFileFilter;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework原创 2021-08-11 15:40:59 · 482 阅读 · 0 评论 -
前端上传excle在服务器保存地址,后端返回下载流
1.对于非加密excle文件,将文件读成二进制流返回 ServletOutputStream out = null; FileInputStream in = null; try { in = new FileInputStream(new File(path)); //设置文件ContentType类型 response.setContentType("ap原创 2021-08-10 13:58:03 · 267 阅读 · 0 评论 -
java使用多线程运行集合数据
1.配置线程池参数import org.slf4j.MDC;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.Map;import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicInteger;/** *原创 2021-08-09 15:08:15 · 491 阅读 · 0 评论 -
使用esayExcel导入excel表格加密
1.对于一些重要的数据,导出excle表格时需要对表格加密,使用excleExcel加密超级简单public void taxesQuery(HttpServletResponse response, ArrayList<TaskTaxesQuery> taxesQueryList){ try { LocalDate dateNow = LocalDate.now(); //response输出文件流 re原创 2021-08-09 14:05:50 · 961 阅读 · 0 评论 -
前端传入excel文件,后端接收并获取数据
1.前端传入文件,控制层需要用MultipartFile类型接收数据,代码如下 @RequestMapping(value = "/downTaxes",method = RequestMethod.POST) public void downTaxes(@RequestParam("file") MultipartFile file, HttpServletResponse response) { taskTaxesQueryService.taxesQuery(response原创 2021-08-09 13:38:37 · 9642 阅读 · 2 评论 -
调用接口返回json数据处理方式
1.调用接口一般会返回string或json格式数据,想要使用数据,需要对数据进行解析,返回如下格式数据解析过程,以获取result数组下面的errMsg值为例2.如果返回string格式数据,需要先将string转为JSONObjectJSONObject jsonResultObject = JSONObject.parseObject(result);然后处理数据 //将JSONObject 对象 jsonResultObject 以result 为key的value 转为JSONA原创 2021-07-23 15:49:03 · 7002 阅读 · 0 评论 -
java使用mybatis根据id集合批量删除、修改数据
1.在使用mybatis批量删除、修改数据时,mapper.xml代码和controller参数接收方式controller @RequestMapping(value = "/deletePapersExpire", method = RequestMethod.GET) public ResultInfo<Boolean> deletePapersExpire(Integer[] keyIdList,String updateBy) { return new Re原创 2021-07-23 14:53:40 · 1867 阅读 · 0 评论 -
SpringBoot项目多模块之间调用出现 Invalid bound statement (not found)
在使用SpringBoot项目多模块间接口调用时,a模块调用b模块mybatis报错Invalid bound statement (not found),但是单独运行b模块则没有任何问题,这种情况下可能是application.yml配置文件错误一般的写法mybatis: mapper-locations: classpath:/mapper/*.xml config-location: classpath:mybatis-config.xml正确的写法mybatis: mapper原创 2021-07-19 15:10:52 · 1718 阅读 · 0 评论 -
EasyExcel操作数据
1.使用EasyExcel将数据写入本地文件 File fileName = new File(System.getProperty("java.io.tmpdir")+"投诉记录"+System.currentTimeMillis()+ ".xlsx"); ExcelWriter excelWriter = EasyExcel.write(fileName, TaskComplaintRecord.class).build(); WriteSheet writeShee原创 2021-07-16 14:42:00 · 2651 阅读 · 0 评论 -
java代码实现post请求以x-www-form-urlencoded格式传递参数 NameValuePair[] 数组转成字符串
StringBuffer buffer = new StringBuffer(); for (int i = 0; i < data.length; i++) { NameValuePair nameValue = data[i]; if (i == 0) { buffer.append(nameValue.getName() + "=" + nameValue.get...原创 2021-07-15 16:04:25 · 1229 阅读 · 0 评论 -
java代码实现post请求以x-www-form-urlencoded格式传递参数
1.post请求方式2.java代码实现 //INFO json数组 JSONArray jsonArray = new JSONArray(); for (int k = 0; k < list.size(); k++) { //数组内json对象 JSONObject info=new JSONObject(); info.put("Remark",list.get(k).getmHandledResu原创 2021-07-15 15:46:21 · 13520 阅读 · 0 评论 -
git提交代码出现Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.
Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.代码冲突,如果提交,就会将本地代码覆盖掉,所以需要先将本地代码备份,然后更新代码,最后合并代码1.备份本地代码,备份后本地代码自动隐藏,代码自动回归到上一个版本2.更新代码3.合并备份的代码和更新后的代码...原创 2021-05-12 09:52:43 · 1460 阅读 · 0 评论 -
websocket部署到服务器连接不上
本地项目使用websocket运行项目没问题,但是部署到服务器就连接不上了,遇到错误WebSocket connection to 'ws://ip:port/temperature/productWebSocket/9006' failed: Error during WebSocket handshake: Unexpected response code: 4解决方法,在nginx配置文件nginx.conf 里添加两行,做一个外网穿透 location / { try原创 2021-03-10 20:01:17 · 6170 阅读 · 4 评论 -
2021-01-09T18:00:00.000Z格式时间存数据库,字段类型为datetime,直接出现报错
1.前端使用的elementui的<el-date-picker ,传入的时间值为2021-01-09T18:00:00.000Z格式2.需要将格式进行转换,才能存入数据库datetime类型的字段,在后端代码写一个工具类,需要转换时直接调用就可以了import org.apache.commons.lang3.StringUtils;import java.text.DateFormat;import java.text.ParseException;import java.text.原创 2021-02-09 23:05:28 · 6733 阅读 · 2 评论 -
服务器中部署个人项目
1.首先,需要将自己的项目打包,然后将包放到服务器任意文件夹中,后端项目打成jar包,前端项目生成的是文件夹,将dist文件夹放到服务器中2.然后启动后端项目,让项目在服务器中运行,查看日志是否报错,进程是否存在,在jar包所在的文件夹下运行指令nohup java -jar sso-1.0-SNAPSHOT.jar >sso.log &sso是我的项目名称 ps -ef |grep java 查看进程tail -f sso.log 查看日志若日志无报原创 2021-02-07 19:42:35 · 342 阅读 · 0 评论 -
idea每次修改代码都需要重新install
需要在设置中将maven的 每次更新快照 勾选上原创 2021-01-29 19:23:49 · 10396 阅读 · 4 评论 -
如何设置idea代码提示不区分大小写
点击seeting(设置)–> Editor(编辑) → General(常规) → Code Completion(代码补全),取消勾选 Match case(区分大小写) 选项原创 2021-01-25 19:51:46 · 823 阅读 · 0 评论 -
如何设置在IntelliJ IDEA启动时不打开上一个项目
原创 2021-01-25 13:39:07 · 790 阅读 · 0 评论 -
idea新导入项目左下角有“j”
1.文件左下角显示“J”解决方式:打开File ->Project Structure -> Modules,最右边有一个小“x”,删掉重新add就可以原创 2021-01-25 11:11:57 · 326 阅读 · 0 评论 -
使用dubbo进行远程调用时,遇到xxx must implement java.io.Serializable报错,以及Provider里面需要传递的对象为什么需要实现序列化接口?
1.在使用dubbo进行远程调用时,我们会将Provider(服务提供者)里面所有需要传递给Consumer(服务消费者)的对象实现序列化接口(java.io.Serializable),但这是为什么呢?2.我们需要先了解dubbo的传输机制,使用dubbo传递时,Provider和Consumer相当于两个tomcat,也就是两台服务器,而两台服务器之间数据传递是以2进制格式传输,所以Provider里面的所有需要传输的对象都需要实现序列化接口,将对象转为string字符串流然后才能传输。而如果不实现原创 2020-12-03 10:55:39 · 2176 阅读 · 1 评论 -
SpringBoot遇到Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration
在使用SpringBoot写测试类时遇到报错,大意为找不到SpringBoot的配置这是因为测试类所在的包名和SpringBoot启动类所在的包名不一致导致,测试类扫描不到启动类,所以无法启动想要解决问题其实很简单,一劳永逸的方法就是将测试类所在的包名和启动类所在的包名保持一致,或者在测试类上的@SpringBootTest注解上手动添加启动类,例如:@SpringBootTest(classes = ManageApplication.class)...原创 2020-12-02 18:46:42 · 2517 阅读 · 1 评论 -
dubbo和spring结合报错 Invocation of init method failed; nested exception is java.lang.IllegalArgumentExce
dubbo和spring结合报错遇到这么个错误这是因为dubbo版本的原因,如果使用2.0.0之后的版本在配置文件填写dubbo信息时,rockermq.producer.group前面不能加spring原创 2020-11-24 00:43:45 · 7603 阅读 · 1 评论 -
SpringBoot中出现 No qualifying bean of type ‘com.tanhua.server.mapper.UserInfoMapper‘ available: expect
在使用SpringBoot框架时出现 No qualifying bean of type ‘com.tanhua.server.mapper.UserInfoMapper’ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=t原创 2020-11-15 20:38:18 · 4595 阅读 · 0 评论 -
postman测试上传图片步骤
1.选择请求方式和请求地址2.选择Body,选择form-data,选择File3.key里面需要输入信息,否则会保错,value选择要测试的图片4.点击send发送请求,就会接收到返回原创 2020-11-13 22:10:51 · 694 阅读 · 0 评论 -
Property ‘属性名‘ not found on type 包名
如果在项目运行中遇到这种错错误信息提示就是:deptName属性在User类中没有,如果你真的去User类中查找那就是被误导了,错误的真正原因是jsp页面调用User类中的属性报错,也就是返回的User对象没有deptName属性,所以你需要去查看你写的jsp页面与servlet里面的对应属性是否错误...原创 2020-10-15 21:18:45 · 2905 阅读 · 0 评论