java父类转子类报错?怎么办?如何父类转子类

原创 2021-01-21 15:01 阅读(3)次
我们java程序员经常会用到子类继承父类,在开发过程中就会遇到子类转父类,父类转子类的问题。 子类转父类不会报错,但父类转子类强转是不会报错的,但运行后就报错了,代码如下: public class UserInfo { private String userName; public UserInfo() { } public String getUserName() { return userName; } public void setUs...

mybatis设置全局变量

原创 2020-12-29 15:19 阅读(75)次
clickhouse在分布式子查询中会将语句发送到多个分片执行,如果语句中的表前不写上库名,查询时会报在default库中找不到表,所以我们需要给每个clickhouse的查询中都写上库名,这样才能正常执行。但库名写死在语句中并不优雅,万一库名修改或测试环境的库名不同,我们开发要将这么多查询语句都要修改,不得累到死,于是就要将clickhouse库名进行配置到公共变量,并在mybatis中获取。下面分享下如何在mybatis设置和全局变量。先要spring boot配置文件中定义需要设置的全局配置,然后在clickhouse的mybatis sessionFactory中设置全局变量,这样my...

java数组转list

原创 2020-12-16 17:54 阅读(60)次
java中数组如何转list或者说ArrayList,每次码代码时,遇到这个问题都要想一下,这里给自己记录下,免得每次都跳坑。数组转list,有两种方法,代码如下: //方法一 List<String> lista = Arrays.asList(split); //方法二 List<String> listb = new ArrayList<>(split.length); Collectio...

spring boot项目默认日志配置

原创 2020-11-26 17:43 阅读(81)次
spring boot默认日志为logback打印,默认不配置也可以打印日志,但生产环境中这样容易让日志打到机器磁盘不足,所以我们还是需要配置一下的:logging: file: name: app.log path: /home/java/ max-size: 50MB max-history: 7

quartz定时器改名后报错,删除多余的定时表数据

原创 2020-09-27 16:55 阅读(171)次
quartz定时器改名后报错,需要清除原来表中的对应数据,删除多余的定时表数据删除语句如下,对应的定时信息要传入:DELETE from qrtz_cron_triggers where TRIGGER_NAME = 'personTimeSpaceTaskTrigger'; DELETE from qrtz_triggers where TRIGGER_NAME = 'personTimeSpaceTaskTrigger'; DELETE from qrtz_job_details where JOB_NAME = 'personTimeSpaceTask';

springboot项目初始化druid连接池时报错java.lang.NullPointerException: null

原创 2020-04-27 18:25 阅读(892)次
新创建了一个springboot项目,一顿配置,以为能正常启动,结果打脸了,报错了:2020-04-27 18:14:04.655 ERROR 18376 --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} init error java.lang.NullPointerException: null at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:325) ~[na:1.8.0_191] at jav...

maven deploy新包到私服,别的工程不会自动引用新包的问题

原创 2020-04-15 17:41 阅读(494)次
在idea中将公共jar包maven deploy自动上传私服后,我并没有修改包的版本,同事在别的工程clean install后发现引用的还是原来的包。后来才发现,别人如果想使用这个最新的包,可以在idea的Maven Projects视图中点reimport,就可以了。install为什么不能下载新包呢,原来同样的版本情况下,install默认找本地的,所以才会出现引用的旧包的问题。也可以设置仓库的<updatePolicy>属性,参考https://www.iteye.com/blog/quinnhe-2066831

idea类找不到问题Caused by: java.lang.NoClassDefFoundError

原创 2020-04-15 17:02 阅读(709)次
我的项目A引用另一个名叫pip-data-model-solr.jar包,这个包是我们的实体module,我改过这个module里的代码,重新打包pip-data-model-solr.jar后,项目A clean install后就启动不了,我是用idea启动的。报如下错:Caused by: java.lang.NoClassDefFoundError: cn/com/datu/data/model/solr/entity/po/PersonDoc at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Clas...

Base64编码出现换行符

原创 2020-03-31 11:49 阅读(551)次
我有一个url图片地址,需要将他base64编码然后传给另一个服务,我本地一直是可以,将程序上传到linux服务器中一直发现图片出不来,看了下日志,base64编码后发现出来的数据多了换行符,如下:地址:kv://kv-face-video_face/2020/03/31/11/24/hmfdq-5439232d-8ab2-4403-8882-6b1d90fbeaee-1585625075325-1017433base编码后值:a3Y6Ly9rdi1mYWNlLXZpZGVvX2ZhY2UvMjAyMC8wMy8zMS8xMS8yNC9obWZkcS01NDM5MjMyZC04YWIyLTQ0...

切分List集合为多个List集合

原创 2020-03-12 10:57 阅读(1237)次
切分一个List变成多个List集合,代码如下:import java.util.ArrayList; import java.util.List; /** * @author: jary * @datetime: 2020/2/5 15:59 * @description: */ public class CollectUtils { /** * 切分list * @param sourceList * @param groupSize 每组定长 * @return */ public ...

the dependencies of some of the beans in the application context form a cycle

原创 2020-01-16 08:56 阅读(2209)次
spring项目工程在idea中运行正常,可是打包运行就报错:the dependencies of some of the beans in the application context form a cycle错误意思是spring循环依赖,开始以为是打包问题,可检查了包里面的内容是正常的,于是我build project后再打包,居然可以了。网上也找了下别人的解决办法有:1.不要使用基于构造函数的依赖注入2.在字段上使用@Autowired注解,让Spring决定在合适的时机注入3.用基于setter方法的依赖注入那我的解决办法是重新build project,在这里都记录下如果还有其...

利用fastJson保证数据字段顺序做api数据签名加密

原创 2020-01-08 17:28 阅读(537)次
我们在开发api接口时,尤其是开放给第三方使用的接口,通常会对接口参数做签名加密校验。我看了下大部分人都只是把url上的参数放到TreeMap中做加密:import org.apache.commons.codec.digest.DigestUtils; import java.io.UnsupportedEncodingException; import java.util.Map; import java.util.TreeMap; /** * @Author: rongrong * @Date: 2018/4/23 * @Description: */ publ...

freemarker嵌套循环用法

原创 2019-12-27 16:37 阅读(647)次
ftl模板文件中如果需要使用循环,表达式如下:<#list tableList as table> ${table.table_name} <#list table.schemaList as field> ${field_index+1} ${field.column_name} </#list></#list>其中${field_index+1}为序号。

java解析request或url中的参数工具类代码

转载 2019-11-05 21:21 阅读(803)次
无论我们在做爬虫时还是在做访问日志解析时,都需要java获取request中的参数、java解析URL问号后的参数。有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来放在一个map里面需要用哪个就取哪个,方便省事代码转载https://www.bbsmax.com/A/GBJrq74Wz0/上代码:import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.HashMap; import java.util....

java中jsoup解析爬虫获取的页面html数据,轻松实现一个爬虫

原创 2019-11-05 16:16 阅读(840)次
最近在找工作,看看各大人才网上的工作岗位,搜索了一下自己住所附近的工作,搜索功能好像对地址搜索不是很友好,于是自己想爬一下各大人才网上的数据,以便自己好搜索,并不商用也不开放数据,话说最近反爬虫很严啊,不过想来自己只是爬取公开的数据,并且不会影响目标网站的正常运行,应该是没事的,这里也希望大家遵守爬虫协议。jsoup是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据以某人才网为例,把他的搜索地址中的搜索词和页码动态传入参数,用Jsoup解析dom就可以把想要搜索的岗位数...

Java实现Https发送get和post请求

原创 2019-11-05 14:11 阅读(581)次
我们工作中经常需要请求第三方或者自己项目中一些接口,有post和get请求,http协议的实现起来很简单,那么https呢?java中如何实现发送https请求并得到响应数据?java中带了javax.net.ssl.HttpsURLConnection类,可以实现https请求。下面直接分享我的工具类HttpUtil类,HttpUtil有两个方法httpsGet(String url)与httpsPost(String url),分别处理https的get和post请求,数据都返回String类型,如果返回的是html可以用jsoup工具解读Dom,如果是json直接用fastJson或其他...

springmvc一个跳转jsp页面被过滤器过滤好几次的问题

原创 2019-10-31 11:10 阅读(385)次
前几天写了个过滤器,一个页面跳转在过滤器的doFilter方法中拦截到好几次,一直找不到原因。后来才发现是过滤器配置的问题。而配置是我随便网上cp的,如下:<filter> <filter-name>domainFilter</filter-name> <filter-class>com.cloud.xungou.servlet.DomainFilter</filter-class> </filter> <filter-mapping>   &l...

spring boot项目时间字段少8小时问题

原创 2019-10-10 20:00 阅读(569)次
今天发现我的工程很多数据保存后到mysql,创建时间字段都少了8小时,看了下其他微服务兄弟项目的数据,都不会有问题,然后才发现别的项目在连接mysql的url上有加上时区+8小时的配置,如下:spring: datasource: name: mysql_test type: com.alibaba.druid.pool.DruidDataSource #druid相关配置 druid: #监控统计拦截的filters filters: stat #driver-class-name: com.mysql....

ServletRequest转HttpServletRequest设置header之后取不到header的问题

原创 2019-09-25 20:27 阅读(1463)次
java中,我们在filter经常会设置请求头,比如token,各种参数标识啊,如下代码设置token到头部:@Order(Ordered.HIGHEST_PRECEDENCE+49) @Component public class FilterA implements Filter{ private static final Logger log = LoggerFactory.getLogger("adminLogger"); @Override public void doFilter(ServletRequest req, Servle...

如何实现生产环境关闭swagger,只有开发环境中开启swagger

原创 2019-09-19 17:29 阅读(1142)次
spring boot工程在生产环境中出于安全考虑,不想要别人能访问你的swagger接口管理页面。这时我们就可以用配置将生产环境中的swagger关闭,但同时开发环境要开启,实现方式可以用@Value来配置。具体代码与配置如下:java代码:/** * swagger文档 * */ @Configuration @EnableSwagger2 public class SwaggerConfig { @Value("${swagger.enable}") private boolean enable = false; @Bean p...

java四元运算

原创 2019-08-14 10:36 阅读(713)次
三元我们都知道如何写,但从未见过多一个值如何写?三元:String a = b>1?"大":"小";直接上代码,亲测可行: public static void main(String[] args) { Integer type = 3; System.out.println(type == 0 ?"全国经纪人证书":(type == 1?"福建省协理证":"厦门市经纪人证书")); }代码简洁了好多

Spring boot跨域配置

原创 2019-06-25 16:18 阅读(493)次
直接贴代码了,亲测可行:import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRe...

线程安全测试 ArrayList Collections.synchronizedList CopyOnWriteArrayList

原创 2019-05-30 17:08 阅读(461)次
ArrayList是线程不安全的,因此在并发编程时,经常会使用Collections.synchronizedList与CopyOnWriteArrayList来替代ArrayList,接下来对这3种list进行线程安全测试,以免自己忘记主要测试的是add,get,遍历并发时的情况,代码与结论如下:package test; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList;...

Eclipse新建类时自动加入创建人与日期等注释

原创 2018-11-19 16:53 阅读(671)次
windows-->preference Java-->Code Style-->Code Templates code-->new Java files 编辑${filecomment}${package_declaration}/** * @author ${user} * @time   ${date} */${typecomment}${type_declaration}应用就可以了

阿里巴巴p3c代码规范eclipse插件

原创 2018-11-16 17:47 阅读(551)次
阿里巴巴p3c是一个提高开发质量和效率、大大降低代码维护成本的eclipse插件,用了一下还挺管用的,可以检查出代码是否规范,甚至连线程安全的代码都能检测出来。安装地址:https://p3c.alibaba.com/plugin/eclipse/update在eclipse中Help-> Install new software,把地址复制进去一步一步安装,重启就可以用了,可以选择工程,也可以包或类进行检查。如下:还有一个类似的插件findbugs,地址:http://findbugs.cs.umd.edu/eclipse

spring boot多module项目导入Eclipse

原创 2018-11-01 18:49 阅读(705)次
spring boot多module工程导入Eclipse中时,子module工程显示成文件夹,不会加载成项目(project)时,例如我下面的spring cloud工程:此时,如果想要将子工程显示成项目,比如maven项目,只需要将视图切成Project Explorer,在子项目中右键点击导入成工程(Import as Project)就可以了,记住一定要切成Project Explorer视图。导入后就可以将项目完美显示了,如下:

Spring boot项目引入jar包时启动报错:java.lang.StackOverflowError

原创 2018-10-19 17:52 阅读(2060)次
我在学习spring cloud zipkin时,引入如下jar后, <!-- 引入zipkin-server --> <dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-server</artifactId> <version>2.11.7</version> </dependency> <!-- 引入zipkin-server 图形化界面 --> &...

spring事务管理与查询是否需要事务以及可重复读的问题

原创 2018-04-04 11:12 阅读(1300)次
我们先来看下通常的spring配置: <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> ...

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

原创 2018-02-27 10:14 阅读(548)次
项目修改pom文件后,eclipse中的tomcat突然启动不起来了,一直报错:严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListenerjava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(Webap...

记一次maven报错解决:Failed to read artifact descriptor for com.aliyun.openservices:aliyun-openservices:jar

原创 2018-02-26 18:06 阅读(2275)次
今天从svn更新代码后,代码一直报错,pom.xml文件也显示有错误,看了代码后发现是同事用了aliyun的一些包,他开发的时候,jar还可以下载,过了几天到我这对应jar从maven中下载不下来,还连他现在也下载不了了,我Maven install后也是报错:[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ---------------------------------------------------------------...