Java语言、框架、体系
文章平均质量分 63
Java、JavaWeb、JUnit、Log4j、Log4j2、Logback、SSH、SSM、FreeMarker
wangjunjun2008
这个作者很懒,什么都没留下…
展开
-
Lombok 插件安装、使用
Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法。@RequiredArgsConstructor :自动生成非空字段(即被@NonNull注解的字段)为参数的构造方法;@EqualsAndHashcode : 自动生成(重写) hashCode() 和 equals() 方法;@Setter/@Getter : 自动生成 setter() 和 getter() 方法;@ToString : 自动生成 toString() 方法;转载 2022-09-12 16:58:12 · 7467 阅读 · 0 评论 -
Linux Ubuntu 安装、配置 maven
Linux 发行版比较多,此文针对 Ubuntu发行版,下载、安装、配置 Maven,进行傻瓜式讲解。转载 2022-06-22 23:50:01 · 319 阅读 · 0 评论 -
RabbitMQ 延迟队列 踩坑之路
1、使用RabbitMQ的延迟队列实现消息的延迟发送。写了个demo,功能ok。https://www.cnblogs.com/mfrank/p/11260355.html2、实际使用时,发现有些消息没有按照指定的延迟时间被消费。https://www.zhihu.com/question/65916221google才知道,延迟队列有几个特性:1、先进先出;2、最前面的消息未被消费时,后面的消息即使到达了延迟时间,也不会被消费;因此,对于不同的延迟时间的消息,不能投到同一个..原创 2020-07-20 11:31:18 · 2156 阅读 · 0 评论 -
tampermonkey 下 JavaScript 脚本中 setTimeout 方法不延迟时间
1、问题的发现在chrome测试tampermonkey(https://www.tampermonkey.net)的JS脚本时,发现setTimeout()方法立即执行,设置的延迟时间不起作用;2、问题的解决在setTimeout方法的参数中,使用匿名函数,函数体中再调用目标函数。参考博文:https://www.ancii.com/af7axzyl/https://www.cnblogs.com/zhwl/archive/2012/11/14/2769786.htm.原创 2020-07-20 10:28:33 · 4253 阅读 · 2 评论 -
将安全证书导入到java的cacerts证书库
系统涉及与第三方支付平台交易,通讯协议为HTTPS单向认证交易时报错,异常信息主要意思为服务器提供的证书不被我们客户端信任,此时需要将安全证书导入到java的cacerts证书库。步骤如下:第一步、下载安全证书在打开的窗口中,打开的窗口中,点击下一步即可,在正式编码格式中,选择指定的格式,点击下一步;指定生成证书文件的名称(此处为vbooking原创 2014-07-10 19:52:24 · 34083 阅读 · 1 评论 -
Sonar启动报错分析
sonar启动,后台报错如下: ERROR jruby.rack - Error: application initialization failedorg.jruby.rack.RackInitializationException: java.lang.NullPointerException: null from org/sonar/server/ui/JRubyFac原创 2013-07-22 12:11:16 · 5539 阅读 · 0 评论 -
Sonar入门学习
最近在学习Sonar,配置了好几天,才搭建起来环境,为自己的学习能力感到汗颜,赶紧在此记录一下,所谓好记性不如烂笔头。 1、Sonar介绍Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对原创 2013-07-22 12:10:50 · 6716 阅读 · 0 评论 -
FreeMarker学习笔记-<一>快速入门
FreeMarker官网:http://freemarker.org/本系列文章参考了FreeMarker官网手册,并转载以下文章:http://blog.csdn.net/zhoubols/article/details/4870636http://blog.csdn.net/zhoubols/article/details/4925932http://blog.cs转载 2016-09-12 15:27:40 · 1365 阅读 · 0 评论 -
Logback介绍及入门
转载其他博文,却没能记住地址,很是遗憾!请求原作者的原谅!Logback简介Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logb转载 2014-01-24 12:40:57 · 21105 阅读 · 4 评论 -
log4j入门-学习笔记
log4j是Apache开源的日志框架,目前最新的版本为 1.2.XX; 2.0.XX版本正在开发中,没有发布正式版本. 日志信息非常重要:开发阶段,很有必要打印出一些重要的信息,和变量值等,便于功能调试;而产品阶段,项目运行稳定,需要记录敏感的修改信息,无须打印很多的日志信息,因而需要将日志信息去掉;因此,能够控制日志级别,对于项目开发来说,非常的重要。 代码中添加日志输出,肯定原创 2013-07-22 12:11:21 · 1344 阅读 · 0 评论 -
Spring Could not resolve placeholder 分析与解决
除去properites文件路径错误、拼写错误外,出现”Could not resolve placeholder”很有可能是使用了多个PropertyPlaceholderConfigurer或者多个<context:property-placeholder>(<context:property-placeholder>底层也是PropertyPlaceholderC...转载 2018-08-23 12:23:32 · 6050 阅读 · 0 评论 -
SpringMVC 手动控制事务提交
转载自 https://blog.csdn.net/supingemail/article/details/51183116增加代码如下:package tdd.com.jack.qingsonglvxing.service;import javax.annotation.Resource;import org.junit.Test;import org.springframework....转载 2018-03-30 15:50:20 · 3123 阅读 · 0 评论 -
Hibernate 警告 HHH020007、HHH020003、等解决
启动项目,tomcat控制台有如下警告:org.hibernate.cache.ehcache.internal.strategy.EhcacheAccessStrategyFactoryImpl.createEntityRegionAccessStrategy(EhcacheAccessStrategyFactoryImpl.java:57) HHH020007: read-only c翻译 2016-12-30 19:28:50 · 4124 阅读 · 1 评论 -
Spring事务传播问题 — PROPAGATION_REQUIRES_NEW
一、描述Spring遇到嵌套事务时,当被嵌套的事务被定义为“PROPAGATION_REQUIRES_NEW”时,内层Service的方法被调用时,外层方法的事务被挂起;内层事务相对于外层事务是完全独立的,有独立的隔离性等等。二、实验但实验时却遇到一个奇怪的问题:1、当ServiceA.a()方法调用ServiceB.b()方法时,内层事务提交和回滚,都不受外层事务提交或回滚的影响。2、当Serv...原创 2016-12-15 14:22:29 · 29919 阅读 · 12 评论 -
项目启动,无法加载Spring xsd文件
问题的产生:有个Java项目(Jar文件),每半小时重启一次,对外提供服务。突然收到报警,早上5点半重启服务时出错,服务无法正常启动。查看启动日志,错误是 xml解析失败,无法找到xml元素的声明。具体报错日志如下:INFO: Loading XML bean definitions from class path resource [applicationContext-task原创 2016-05-16 15:20:38 · 19253 阅读 · 1 评论 -
Hibernate报错,没有权限创建表 HT_xxx
某功能在测试环境没问题,发布生产环境后,出现如下错误:HT_xxx表不存在,无法执行插入操作,跟踪发现,hibernate内部报错,没有创建表HT_xxx的权限。具体的错误,可参考:http://stackoverflow.com/questions/4412459/hibernate-bulk-update-leads-to-in-query-which-takes-for-ever-t原创 2016-02-23 16:56:33 · 3195 阅读 · 2 评论 -
Hibernate多层继承配置
1、对象模型图2、表结构、对象结构及其对应关系3、映射文件配置【配置说明】a、分别为继承体系中的各个类定义持久类,其中只有父类(继承体系中最顶层的类)包含标识符属性(即主键)!b、子类继承父类,子类声明个性化字段,切记不用再声明主键字段!!!c、继承体系中的各个类分别映射到不同的表,父表与子表通过外键关联(主键也是外键转载 2016-01-19 15:53:56 · 1516 阅读 · 0 评论 -
Cron表达式语法及注意
Spring Framework中的Schedule Task以及Quartz定时任务,使用了Cron表达式。Cron表达式的格式由7部分构成,各个部分之间用空格隔开,其中第7个部分为可选部分。格式如下:* * * * * * *各个部分表示的意义如下:第一部分:秒(0~59)第二部分:分(0~59)第三部分:小时(0~23)第四部分:月中的日期(1转载 2015-11-22 19:15:34 · 2696 阅读 · 0 评论 -
Hibernate-Validator 5.1.0.Final 无法解析自定义占位符
本文转载自:http://www.cnblogs.com/linxyz/p/3672937.html-------------------------------------------------------------------------------------------------------------------------------------------------最转载 2014-07-24 23:26:39 · 2814 阅读 · 0 评论 -
Struts2升级 配置修改
因为struts2 2.3.15.1版本存在bug,需要升级至struts2 2.3.16.1版本,测试时候,却发现功能报错。动态方法调用失败,找不到对应的action映射。能够肯定的是代码本身没有问题,于是查找配置文件,猜测是不同版本的某些全局变量的默认值不同。果然不出所料,struts2-core-2.3.15.1是以下配置### Set this to false if yo原创 2014-04-15 14:42:23 · 2148 阅读 · 3 评论 -
项目启动报错 content of element type "class" must match "(meta*,subselect?,cache?,synchronize*,...)"
项目启动,报错如下:org.hibernate.InvalidMappingException:Could not parse mapping document from invalid mappingCaused by: org.xml.sax.SAXParseException: The content of element type "class" must match原创 2014-03-31 14:48:16 · 5352 阅读 · 0 评论 -
Dialect class not found: org.hibernate.dialect.Oracle10gDialect 报错解决
将项目打包,部署到tomcat下,启动tomcat,控制台报错如下:2014-03-02 23:24:29,975 [/// - ] ERROR org.springframework.web.context.ContextLoader - Context initialization failednested exception is org.springframework.beans.原创 2014-03-04 12:49:18 · 8451 阅读 · 2 评论 -
项目启动时报错Element type "property" must be followed by either attribute specifications, ">" or "/>"
项目启动时,控制台报错,信息如下(有删减):Error creating bean with name 'supplierInfoDAO' defined in class path resource [conf/applicationContext-hibernate.xml]: Cannot resolve reference to bean 'sessionFactory' while原创 2013-12-24 13:36:08 · 17108 阅读 · 0 评论 -
搭建企业级单元测试环境-Spring集成JUnit4/TestNG
本文转载如下:http://www.ibm.com/developerworks/cn/java/j-lo-spring25-test/index.html?ca=drs-http://www.ibm.com/developerworks/cn/java/j-lo-springunitest/以上两篇文章对Spring、JUnit4的集成介绍的非常详细,在此也就无须“重复造轮子”,转载 2014-01-24 13:16:13 · 2691 阅读 · 0 评论 -
项目集成Maven后JUnit报ClassNotFoundException错误的分析及解决
前提:原有项目一切运行正常,单元测试正常执行。项目开始使用Maven管理,结果发现原有的JUnit测试无法执行,类无法找到(java.lang.ClassNotFoundException)。无论如何修改Maven配置,报错依然。分析原因:MyEclipse之所以能识别项目,是根据.project文件解析;而项目的目录结构则是在.classpath文件中定义。MyEclip原创 2014-01-08 12:12:09 · 7131 阅读 · 0 评论 -
Hibernate映射文件打成jar,JUnit测试无法正确执行的问题分析
之前将Hibernate的实体类及其映射文件也放到项目中,由于有多个项目使用同一个数据库,Hibernate实体类和映射文件重复,不便于维护和升级。因此将其抽取出来,打成jar包,再引入回项目。实际操作中,发现个诡异的问题:项目运行没问题,但是JUnit单元测试不能运行(方法使用了HQL语句时),总是报org.hibernate.hql.ast.QuerySyntaxException的错误,原创 2013-12-24 13:11:32 · 2636 阅读 · 2 评论 -
JUnit4新断言-Hamcrest的常用方法
JUnit4新断言-Hamcrest的常用方法:一、字符相关匹配符1、equalTo: assertThat(testedValue, equalTo(expectedValue)); 断言被测的testedValue等于expectedValue,equalTo可以断言数值之间,字符串之间和对象之间是否相等,相当于Object的equals方法2、equalT原创 2013-12-11 13:53:02 · 4531 阅读 · 2 评论 -
JUnit3 与 JUnit4 的区别
本想总结下JUnit3和JUnit4的区别,方便自己的同时也方便他人,不想却违反了DRY原则,网上已经出现了很多的文章。既然无须再重复造轮子,就在此推荐两篇个人认为不错的文章,地址如下:360doc:http://www.360doc.com/content/12/0202/23/1542811_183778321.shtml百度文库:http://wenku.baidu.com/转载 2013-12-10 13:15:55 · 5021 阅读 · 0 评论 -
从代码审核时遇到的有关JUnit的几个问题来看项目开发问题
1、持续集成时,某个单元测试失败,找不到作者。项目成员持续流动,加之测试用例随着项目的开发而不断增加,查找代码的作者,也算是个力气活了,如何能快速而准确的定位到代码开发者呢?Java提供的 @author 可以达到该要求;开发增加和修改的单元测试,必须要将开发者注释,便于快速定位。2、单元测试方法只能执行一次。一位同事写的代码,调用删除方法,传入主键ID,将该记录删除;结果原创 2013-12-09 18:55:24 · 1978 阅读 · 0 评论 -
JUnit4入门学习笔记
JUnit4 单元测试(对java文件中的方法进行测试)JUnit常用的两个单词解释:Failures:测试失败;Errors:程序本身出错;当JUnit出现errors,则不会考虑failures的情况,因此需要先将error排除,才能进行测试。 JUnit4推荐放弃旧的断言,改用新的断言:hamcrest 断言:Keeps the bar green to keep原创 2013-07-22 12:11:26 · 1916 阅读 · 1 评论 -
项目添加Maven支持后,单元测试报异常 javax/mail/internet/AddressException 解决
项目添加Maven支持后,运行JUnit单元测试,出现一下错误: ERROR in ch.qos.logback.core.joran.action.AppenderAction - Could not create an Appender of type [com.travelsky.tdp.pkgStock.integration.logback.appender.mail.SMT原创 2013-07-22 12:09:58 · 7634 阅读 · 0 评论 -
阿里云 MNS 切换为 自建 RabbitMQ
从原创 2020-02-19 17:56:28 · 1206 阅读 · 0 评论 -
JAVA微信企业付款到零钱
常见错误参考https://blog.csdn.net/a584257442/article/details/86318725完整demo,及常见错误参考https://www.jianshu.com/p/8befe6dfe22c原创 2020-02-05 13:57:53 · 1018 阅读 · 0 评论 -
Java中的枚举(enum)知多少
1、命名规范:枚举名称,首字母大写,驼峰标识;其枚举值,全大写,下划线分割;2、命名规范参考:java.lang.Character的UnicodeScript枚举示例;3、自定义枚举类,代码参考:public enum Color { RED("红色"), GREEN("绿色"), YELLOW("黄色"); //自定义字段 private String desc;原创 2017-01-18 15:38:51 · 20476 阅读 · 1 评论 -
Jsoup的select选择器
Jsoup的强大在于它对文档元素的检索,Select方法将返回一个Elements集合,并提供一组方法来抽取和处理结果,即Jsoup的选择器语法。1、Selector选择器基本语法tagname: 通过标签查找元素,比如:ans|tag: 通过标签在命名空间查找元素,比如:可以用 fb|name 语法来查找 元素#id: 通过ID查找元素,比如:#logo.class: 通过转载 2016-01-13 22:03:37 · 19366 阅读 · 0 评论 -
log4j 输出 json 格式日志
总所周知,默认的log4j,采用 文本方式输出日志。但有的时候,需要对日志进行统计分析,尤其是增加了自定义的输出参数,此时不方便对文本数据进行解析,json格式就派上了用场。修改log4j配置以支持输入json格式日志,非常简单:只需要将<PatternLayout /> 改为<JsonLayout /> 即可,如下图:打印出的日志,格式如下:...转载 2019-04-19 11:25:56 · 13194 阅读 · 0 评论 -
Web项目,URL包含的中文不能正确的被解析
自建简单的Web项目,get方法中,包含的中文,被解析成乱码,原来默认的编码中不支持中文,需要设置连接编码格式。修改${TOMCAT_HOME}/conf/server.xml 文件如下地方: 添加 URIEncoding='UTF-8' .原创 2013-07-22 12:10:39 · 3597 阅读 · 0 评论 -
JavaMelody 简单配置 并发送 Email
今天突然分配一个任务,把项目中的 JavaMelody 配置发送邮件功能。第一次听说 JavaMelody 这个词,从百度开始,经过短暂的时间,终于完成了 配置及发送邮件的功能。项目地址:http://code.google.com/p/javamelody/wiki/UserGuide1. 下载 javamelody-1.42.0.zip 和 javamelody-1.42.0.wa原创 2013-07-22 12:09:43 · 3269 阅读 · 1 评论 -
MySQL修改字符集为utf8mb4以支持 emoji 表情符号
系统接入微信公众号,需要存储用户昵称,但是发现,有些用户的昵称存储报错;查询之后,发现用户昵称中包含emoji表情,而数据库的编码为utf8;因此需要对相关的数据库、表、字段等的编码进行修改,以达到保存emoji表情的目的。要存储 emoji 表情,需要客户端、到 RDS MySQL 实例的连接、RDS 实例内部 3 个方面统一使用或者支持 utf8mb4 字符集。转载 2016-09-01 14:57:18 · 22168 阅读 · 0 评论 -
md5加密 控制台传入与web传入参数 md5加密结果不同
问题描述:相同的字符串,通过main方法调用md5加密的结果,与web api参数接收后,md5加密,结果却不同。import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class转载 2016-05-05 14:07:09 · 3888 阅读 · 1 评论