Java
BTBIG@Mr. Chen
自己战胜自己是最可贵的胜利
展开
-
Spring Cloud项目间歇性404:如何关闭注册中心中多余服务
问题:一如既往的写好接口重启本地服务,发出请求的时候,奇数次服务成功响应,偶数次服务404,就好像是有两个服务在轮询一样1、能成功到达服务并响应数据,说明不是接口的问题,这时候就可能是配置的问题。先检查了一次配置,配置并没有发现什么问题,真是伤脑筋。2、检查注册中心。根据服务配置中的注册中心地址登录之后,发现注册中心上有两个服务……想起之前用idea开了两个服务,关掉idea之后这个服务好像没有关掉,所以现在关掉注册中心上面的服务就好了:打开postMan,发送DELECT请求:http原创 2021-05-10 18:06:38 · 428 阅读 · 0 评论 -
Java合成照片
public static String mergeImages(String img1Path, String img2Path) throws IOException { String mergeImgStr = ""; try { //1、获取图片1 File fileA = new File(img1Path); File fileB = new File(img2Path); .原创 2021-04-09 21:09:13 · 230 阅读 · 0 评论 -
IntelliJ IDEA 中SpringBoot对Run/Debug Configurations配置 SpringBoot热部署
运行一个SpringBoot多模块应用1、使用SpringBoot配置启动:Use classpath of module选中要运行的模块VM options:内部配置参数-Dserver.port=8080 -Dspring.profiles.active=test -Ddebugserver.port可以设置端口号,spring.profiles.active=test可以设置运行环境-Ddebug 开启debug模式这种方式的好处就是不用对代码进行任何变动,.转载 2020-12-07 11:33:53 · 7011 阅读 · 0 评论 -
请求报错500:Required String parameter ‘id‘ is not present
500报错:Required String parameter 'yz00Id' is not present(必需的字符串参数“yz00Id”不存在)看了一下,前端有给后台传 “yz00Id”这个参数,但是好像没有识别出来,后来仔细看了一下,后台使用@RequestParam来接收前端传过来的参数,那么前端需要传入的是正常表单数据,有两种方法:1、直接在链接上拼接参数.get("getCardById?Id="+this.formObj.id)2、使用formData格式提交...原创 2020-10-12 11:07:37 · 2297 阅读 · 0 评论 -
将本地jar包放入maven的仓库中
1、首先编辑好maven命令:以支付宝的jar为例mvn install:install-file-Dfile=alipay-sdk-java-1.0.0.jar (jar包的全称,还可以使用全路径这样可以直接使用命令不用进入文件目录中运行命令了)-DgroupId=com.acts (jar包的groupId)-DartifactId=alipay-sdk-java (jar包的artifactId)-Dversion=1.0.0(jar包的版本号)-Dpackag...原创 2020-10-11 20:04:13 · 1048 阅读 · 0 评论 -
IDEA使用Maven项目不能加入本地Jar包的解决方法
使用IDEA编辑Web项目已经逐渐超过了使用eclipse的人数,但是IDEA对于pom.xml的执行也就是Maven方式导包支持并不是很完善,简单来说就是pom.xml上面记录的依赖库一般都能导入,但是如果pom.xml上面的某个依赖库失效,比如远程服务器关闭或者网络不通,或者是你想要加入本地硬盘上的某个jar包而不修改pom.xml的时候,IDEA的弊端就会显现出来。主要表现就是无法获得的依赖库或者本地Jar包无法放到/WEB-INF/lib目录下,导致Web项目部署时报错。一个常见的错误就是ojd转载 2020-10-11 19:38:18 · 1563 阅读 · 0 评论 -
Maven 编译时缺少依赖,java: 程序包org.apache.http不存在
在编译的时候,提示java:程序包org.apache.http不存在打开pom.xml文件,发现是对应的版本不对我怎么知道是哪个版本才是正确的呢?打开百度,输入maven org.apache.httpcomponents,一般出来的第一个就是进去之后,仔细看一下自己需要的是哪个包,我们是需要 org.apache.httpcomponents 下的 httpclient选择自己需要的版本,其实版本都一样的,我们一般选择多人使用的版本(看右边的星星,星星比较...原创 2020-10-11 19:16:09 · 19489 阅读 · 2 评论 -
数字字典的作用
今天客户负责人问我,你们系统在下拉框里面存的字典是什么?比如民族这个,存的汉族还是什么?我说存的字典编码,我们把民族、区域等信息存在字典里面。但是为什么要存数字字典呢?直接存文字不好吗?现在说说数字字典的重要性:1、保证开发时参数能够统一。先给大家普及一下多租户的概念。一个企业开发一个系统主要还是为了盈利,会租给A客户,也会租给B客户、C客户等,租户A就是该系统的某一个租户。为了保证数据的完整性、安全性、可靠性等,这些租户看不到相互之间的数据,只能根据其在这个系统里面的权限查询相对应的功能及原创 2020-10-02 23:10:41 · 1826 阅读 · 0 评论 -
Error:svn: E155037: Previous operation has not finished; run ‘cleanup‘ if it was interrupted
SVN更新代码时出错:Error:svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted翻译过来的意思就是,上一次的操作未完成,如果被中断,运行“cleanup”。因为我是shiyon原创 2020-09-19 16:36:26 · 1459 阅读 · 0 评论 -
static关键字和@Value注解不兼容的解决
1.如果一个成员变量被static关键字修饰,并且要通过@Value注解从配置文件读取这个变量的值,那么如果直接在其上加注解读取是不可以的,只能通过set方法进行读取,并且set方法一定不是静态的,因为@Value注解一旦遇到static关键字这个值就是识别不来,就是不兼容的.其余的可以直接通过读取;2.静态方法里面的变量都是静态的,说法正确吗? 其实并不争取,只能说静态方法只能引用静态成员变量,它的内部可以定义非静态的变量3.如果要解决上面的第两个问题;通过@PostConstruto..转载 2020-09-10 09:22:46 · 520 阅读 · 0 评论 -
Maven导包不全:Error:(9,27) java: 程序包lombok.extern.slf4j不存在
Error:(9,27) java: 程序包lombok.extern.slf4j不存在大多数是由于导包不全导致的,方法有两个:方法一、重新导包右击项目目录,选择 maven --> Reimport方法二、将没下全的包下全打开命令行,可以使用idea自带的命令行(打开Terminal直接就是项目地址,不需要再转),也可以使用 win+R 快捷键打开运行,输入cmd回车进入命令行界面,然后到项目地址,输入mvn idea:idea提示BUILD SUCCESS就..原创 2020-08-25 11:17:57 · 3372 阅读 · 1 评论 -
Java Servlet内置对象之response(一):使用io流之后需要手动关闭吗?
在Java中,调用 IO 流之后我们都要关闭 IO 流对象,否则会不断占用内存最终导致内存溢出的现象,那么在Servlet中,使用response/request调用输入输出流之后,需要调用 .close()关闭文件流对象吗?一般情况下是不需要手动调用close()来关闭流的,在 servlet 完成生命周期之后,servlet 容器会自动关闭流。但是如果之后不再调用filter,也是可以调用关闭流的。getOutputStream和getWriter方法分别用于得到输出二进制数据、输出文本数据的.原创 2020-08-17 18:33:13 · 3552 阅读 · 0 评论 -
如何判断一个变量的类型
使用反射获取一个变量的类型:public static void main(String[] args) { int i = 0; MyClass.getType(i);}public static void getType(Object o){ System.out.println(o.getClass().toString());}原创 2020-08-10 15:43:52 · 585 阅读 · 0 评论 -
MySQL日期格式化
将得到的日期与数据库中的日期进行匹配,但是数据库中存的日期格式是 “2020-07-12” ,在后台拿到的日期格式是 “Mon Aug 10 15:04:39 CST 2020” ,又不能转成 “yyyy-MM-ss” 格式的、Date类型的变量(“yyyy-MM-ss” 格式的日期是String类型),这个时候就只能使用日期格式化了结合MyBatis的MySQL语句:<select id="selectList" parameterType="com.entity.MyClass" re.原创 2020-08-10 15:33:26 · 328 阅读 · 0 评论 -
Java Integer长度是多少,int 和 long的和是什么类型?
Integer长度Integer长度: 2147483647public static void main(String[] args) { System.out.println(Integer.MAX_VALUE);}int 和 long 的和是什么类型?public static void main(String[] args) { int i=1; long j=0L; Object o = (Object) (i+j); System..原创 2020-08-10 14:51:19 · 16738 阅读 · 0 评论 -
Java反射与泛型:根据传进来的参数类型,创建实例对象
现有几个类,构造函数的参数都是一样的,就是创建的实例对象不一样。具体如下:class StringFunction{ String id; public StringFunction(){} public StringFunction(String id){ this.id=id; System.out.println("创建了StringFunction实例"); } public String getId() {原创 2020-08-05 12:03:14 · 4868 阅读 · 0 评论 -
logging level级别
日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。1. static Level DEBUG :DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的,一般认为比较重要的方法执行需要详细查看运行情况的则开启debug。2. static Level INFOINFO level表明消息在粗粒度级别上突出强调应用程序的运行过程,只需要了解该方法是否运行的可以使用INFO3. static Level WARNWARN level表明会出现转载 2020-07-09 09:50:20 · 2207 阅读 · 0 评论 -
java笔试:按照部门deptid分组,对工资进行降序,算出排名(通过编写JAVA代码排序算法实现,不能通过JDBC编写SQL实现。)
数据源empid deptid salary1 10 5500.002 20 4800.003 40 14500.004 40 44500.005 50 6500.006 50 7500.007 10 4500.008 ...原创 2020-06-19 15:03:13 · 1021 阅读 · 0 评论 -
Idea内存不够?Idea很卡怎么办?解决Idea打开vue项目卡死问题
第一次启动vue项目的时候,idea是正常的,但是后面发现idea越来越卡,就想隔了层透明的膜,滑不动,点也点不动,也没提示idea没反应。一开始上网查,很多提示都是idea内存不够,同时idea也提示内存不够,我就想着给够idea内存就好了。于是我按照网上教程修改idea配置文件D:\ideaIU-2017.2\bin\idea.exe.vmoptions(在Idea安装目录下的bin文件里边),1G1G 的加大idea默认内存。配置文件如下:-Xms1024m-Xmx3072m原创 2020-06-16 18:09:35 · 4075 阅读 · 4 评论 -
mybatis中实体的字段为什么不要使用基本类型
答应我,mybatis中实体的字段不要使用基本类型。实体类:有基本类型启动的时候就会有一个提示:当加入查询条件时会报错,控制台没有更多的信息。是因为当查询条件为null时,mybatis直接映射的实体类中有基本类型int。int不能为null。将该字段类型改为对应的包装类便解决问题。...原创 2020-06-12 17:39:37 · 637 阅读 · 0 评论 -
mybatis框架:SqlSession 的常用方法
SqlSession 的常用方法(1)int insert(String statement)。插入方法,参数statement是在配置文件中定义的<insert.../>元素的id,返回执行SQL语句所影响的行数。(2)int insert(String statement,Object parameter)。插入方法,参数statement是在配置文件中定义的<insert.../>元素的id,parameter是插入所需的参数,通常是对象或者Map,返回执行SQL语句所影原创 2020-06-05 16:14:47 · 4460 阅读 · 0 评论 -
Linux下使用Tomcat发布web项目
1、编译打包将代码编译打包,简单一些的项目不需要编译,直接打包就好。但如果是几层maven项目的话,建议先编译。编译:先clean,再install打包:之后,在target下找到 .war 文件如果找不到 .war 包,只有 .jar 包的话,是因为创建项目的时候选择了jar,可以在pom.xml中修改。打开pom.xml文件,找到<packaging> jar </packaging>,修改为<packaging> war <..原创 2020-06-04 15:41:02 · 843 阅读 · 0 评论 -
那些年在 java.util.Date类中踩的坑(1):数据类型不对导致数据库没查到值,以及关于时间的 String与 Date 、 Long 与Date 类型之间的转换
一朋友遇到一个bug:在数据库查是没有问题的,但是在后台查的时候没查出来,传递过去的字段都是正确的,就是不知道为什么没查出来。我看了一下代码,没发现有什么不一样,开始debug,发现确实他在使用一个时间字段在数据库查的时候,用的“yyyy-MM-ss”格式,但是后台传过来的时间字段值,是日期的毫秒值,这样子肯定查不到啦。...原创 2020-06-04 10:27:53 · 946 阅读 · 0 评论 -
Layui获取select搜索下拉框选中的值
小陈同学拿了一段代码来问我说为什么拿不到搜索下拉框中选中的值,我也不知道为什么拿不到,先贴上代码再说。html:使用layUI的搜索下拉框<td>类型:</td><td> <select name="type" id="type" lay-verify="required" lay-search="" lay-filter="type" style="width: 100%"> <option value=""&g原创 2020-06-01 16:28:36 · 5877 阅读 · 0 评论 -
【Calendar】Calendar设置月份为本月最后一天
思路:因为要考虑到每个月最后一天是28,29,30,还是31号所以正常思维来做很麻烦;这里我们换一种思路:找到上个月的第一天,这里是:2017年7月1日;我们再让月日期减一,这样,Calendar会自动帮你跳到6月最后一天,即2017年6月30日;public class TestDemo2 { public static void main(String[] args) { Date currentDateTime=new Date();/*全局变量*/ .转载 2020-05-28 13:40:11 · 3253 阅读 · 0 评论 -
Calendar获取当前季度、月、周的开始时间结束时间
java在很多场合下会根据当前时间计算本季度的开始时间结束时间、当前月份的开始时间结束时间、当前周的开始时间以及结束时间。我这里整理下一个时间加工类,作为工具类记录下。一、获取计算相关时间的方法如下:(如果有错误请指出,感谢!)public class TimeUtils { /** * 初始化时间盒子 * @return timeBox */ public static TimeBox initTimeBox() throws ParseExce转载 2020-05-27 19:21:12 · 1341 阅读 · 0 评论 -
Encountered a duplicated sql alias [kind] during auto-discovery of a native-sql query
org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql alias [kind] during auto-discovery of a native-sql query这是因为没有添加别名,在原生的JPA中不能使用 " select * …… "原创 2020-05-11 17:37:10 · 339 阅读 · 0 评论 -
无法验证或调用JPA方法:Invocation of init method failed;nested exception is java.lang.IllegalArgumentException
错误日志:提示无法验证或者调用 Repository 的方法,无厘头!这到底是为什么?其实很简单!仔细看一下Repository 对应的方法,发现没有添加 nativeQuery=true ,即没有使用到原生的查询语句,所以加上 nativeQuery=true 就可以了。注:既然使用原生的查询语句,那么这里的表名就是数据库中的表名,不是实体类名称,否则会出现不能识别表名...原创 2020-05-07 11:00:14 · 2919 阅读 · 0 评论 -
从一对一聊天到群聊超详解案例,学习Java网络编程之TCP与UDP协议
网络编程 实现网络互连的不同计算机上运行的程序间可以进行数据交换。 计算机网络 由一些相互连接的、自治的计算机组成的集合 网络编程的概念 网络七层结构(五层结构) 网络通信三要素 ip(计算机标识) 端口(计算机上不同服务的标识) 协议 UDP 不面向连接 不可靠...原创 2020-04-30 09:43:40 · 327 阅读 · 0 评论 -
使用JS动态设置下拉框默认值
有个朋友带着某博主的文章来问我,为什么他设置的下拉框无效?现在通过讲讲他开发时遇到的小问题来讲一下如何使用JS动态设置下拉框默认值。1、获取下拉框标签获取下拉框标签:document.getElementById("id")[a],这里的a表示的是数字0、1、2、3……,不是value值。图1 刚好博主 的value值与数组下标值一样,他就傻傻的填了从后端获取的va...原创 2020-04-28 20:31:14 · 7622 阅读 · 0 评论 -
java生成excel和下载导出文件的工具类
这是最早写的excel工具类,比较简单,比较粗糙:import java.io.File;import java.io.IOException;import jxl.Workbook;import jxl.write.Label;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl....转载 2020-03-24 18:07:43 · 463 阅读 · 0 评论 -
setHeader方法的使用
1. HTTP消息头一秒刷新页面一次: response.setHeader("refresh","1");二秒跳到其他页面 :response.setHeader("refresh","2;URL=otherPagename");没有缓存:response.setHeader("Pragma", "No-cache"); response.setHeader...转载 2020-03-19 14:25:29 · 3645 阅读 · 0 评论 -
elasticsearch基本操作之--使用QueryBuilders进行查询
/*** 系统环境: vm12 下的centos 7.2* 当前安装版本: elasticsearch-2.4.0.tar.gz*/QueryBuilder 是es中提供的一个查询接口, 可以对其进行参数设置来进行查用擦还训package com.wenbronk.javaes;import java.net.InetSocketAddress;import ja...转载 2020-03-17 13:38:07 · 800 阅读 · 0 评论 -
13 个优秀开源的 Spring Boot 学习项目,一网打尽!
Spring Boot 算是目前 Java 领域最火的技术栈了,松哥年初出版的 《Spring Boot + Vue 全栈开发实战》迄今为止已经加印了 8 次,Spring Boot 的受欢迎程度可见一斑。经常有人问松哥有没有推荐的 Spring Boot 学习资料?当然有!买松哥书就对了,哈哈。除了书呢?当然就是开源项目了,今天松哥整理了几个优质 Spring Boot 开源项目...转载 2020-03-11 09:39:41 · 354 阅读 · 1 评论 -
你修改了样式,却要我手动清除游览器缓存,这是BUG!
1. 事件背景公司网站首页的样式进行了大量改版,但是上测试线后,测试同事对我说:怎么还是原来的效果,没有任何变化啊。听到这样的问题...转载 2020-03-11 09:16:32 · 416 阅读 · 0 评论 -
Java中使用freemarker教程之list循环
转载: https://blog.csdn.net/Cheung1021/article/details/6146239使用参考: spring boot入门之web篇在Freemarker应用中经常会遍历List获取需要的数据,并对数据进行排序加工后呈现给用户。那么在Freemarker中如何遍历...转载 2020-03-09 14:48:37 · 7032 阅读 · 0 评论