- 博客(103)
- 资源 (16)
- 收藏
- 关注
原创 MyBatis报错Type handler was null on parameter mapping for property XX
报错信息如下:Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested...
2020-04-10 18:30:53
15902
原创 Spring中的Aware接口的本质
Spring Aware接口允许你“卷入”(hook into)Spring框架的内部工作。通过Spring Awawre接口,你可以访问Spring上下文或者Spring的Bean生命周期事件。 你的Spring bean可能需要...
2019-12-12 09:54:26
372
原创 查看java对象占用内存大小
引入maven依赖: <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.9</version>...
2019-10-31 21:44:22
4447
1
原创 java8 Comparator升序降序排序
package com.pilaf.stream;import lombok.AllArgsConstructor;import lombok.Data;import lombok.ToString;import java.util.Arrays;import java.util.Comparator;import java.util.List;import java.util....
2019-10-10 09:57:35
32713
原创 Spring Boot maven插件debug
想在IDEA中用maven的spring-boot插件方式debug Spring Boot应用。Spring Boot项目的pom.xml文件中有<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>...
2019-08-28 14:52:03
1621
1
原创 spring RestTemplate中文乱码,替换StringHttpMessageConverter后报500 Internal Server Error
在使用RestTemplate请求url获取字符串的时候,发现中文乱码了。然后发现RestTemplate的默认构造器中,添加了很多HttpMessageConverters,其中的StringHttpMessageConverter的默认charset是ISO_8859_1: /** * The default charset used by the converter. ...
2019-08-15 18:38:55
3907
原创 IDEA中suppress warnings
有时候java类名没有遵循驼峰命名,其实也不是没有遵守,而是IDEA认为你没有遵守,或者它识别不出来我们定义的类名中的单词,然后就会有个波浪线提示你:Typo: In word …SpellChecker Inspection helps locate typos and misspelling in your code, comment and literals, and fix them ...
2019-08-06 11:00:46
3061
原创 如何在IDEA中给源码中不存在的默认构造器打断点?
一个类源码中没有声明构造器,那么它会有一个默认构造器。那么问题来了,如果我想debug一下,看看这个默认构造器都在哪儿被调用了,要在默认构造器上打个断点(breakpoint)怎么办?按照IDEA官网上的说明:If you want to set a breakpoint in the default class...
2019-08-01 13:51:51
734
原创 微信小程序消息推送功能开发(java实现)
先好好把官方文档看一看,链接https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/message-push.html#option-url主要用到的maven依赖: <dependency> <groupId>org.projectlo...
2019-07-30 20:48:59
3830
2
原创 maven项目查看依赖树
通过在项目跟路径下执行mvn dependency:tree查看项目的完整依赖树,例如:pilafs-MacBook-Pro:content-admin pilaf$ mvn dependency:tree[INFO] Scanning for projects...[INFO] [INFO] ------------------< com.**:content-admin >...
2019-07-22 14:48:11
26893
原创 springboot web项目中js变量值因profile不同而不同
一个springboot的web项目,前端上传图片到公司图片服务器上,因为有开发环境dev、生产环境prod,上传的地址也就不一样了。上传的服务器地址写在了js文件中。那么js中的变量的值可以根据spring的不同环境的配置文件变化而变化么? ...
2019-06-28 19:36:45
955
3
原创 微信小程序获取二维码scene报错40129
java后端向微信服务端https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN获取二维码的时候,由于自定义的scene中包含了"=",在用Gson将请求体转成json的时候,"="被转义了,然后获取二维码报错:{“errcode”:40129,“errmsg”:“invalid scene hint: [o...
2019-06-04 20:23:44
7316
2
翻译 Spring Boot、Spring MVC、Spring对比
Spring Boot、Spring MVC、Spring中都有spring这个单词,让我们来看看你应该在哪儿、何时使用这些工具。在本文,你将鸟瞰Spring、Spring MVC和Spring Boot,了解它们都处理哪些问题,它们最佳应用场景。你将认识到最重要的一点是,它们不是在同一个领域内竞争,它们都在各自的领域很出色地处理问题。1.Spring框架处理的核心问题是什么?好好想想,Sp...
2019-05-20 21:07:02
430
原创 类静态字段初始化错误导致的ExceptionInInitializerError和NoClassDefFoundError
JDK中对ExceptionInInitializerError的描述是:在静态初始化程序中发生了意料之外的异常的信号。在一个静态初始化程序求值的时候,或者静态字段初始化的时候发生了异常,就会抛出一个ExceptionInInitializerError异常。JDK中对NoClassDefFoundError的描述是:JVM(Java虚拟机)或者类装载器(ClassLoader)实例...
2019-05-20 13:56:03
2358
1
翻译 理解JUnit的Runner架构
几星期前,我开始创建一个小型的JUnit Runner(Oleaster),它允许你在JUnit中用Jasmine的方式写单元测试用例。从中我学习到写单元测试用例其实很简单。在这篇博客中,我将向你展示JUnit Runners内部是怎么工作的,还有你可以如何自定义Runner来更改JUnit的测试用例执行过程。什...
2019-05-17 13:58:08
6277
原创 Maven工程生成源码包jar包
有时候开发一个公共jar包给别人引用,当别人打开包中的类的时候,默认情况下是IDE工具反编译出来的.class文件,类中的注释什么的都看不到,此时IDE工具会提示你可以Download sources,但是如果你打包的时候没有同时打一个以"-sources.jar"结尾的source code jar,那么调用方下...
2019-05-16 11:27:58
4064
翻译 高效的java异常(Effective Java Exceptions)
摘要Java开发人员可以做出的最重要的架构决策之一是如何使用Java异常模型。Java异常一直是社区争论的主题。 有些人认为Java语言中的checked(受检)异常是一个失败的实验。 本文认为,错误不在于Java模型,而在于Java库设计者未能认知到方法失败的两个基本原因。 本文提倡一种思考异常情形性质的方法,并描述有助于您设计的设计模式。 最后,本文讨论了异常处理作为面向切面编程模型中的横切...
2019-05-13 20:58:34
753
原创 AOP的应用场景(异常处理、安全检查和缓存)
本文内容摘自于王福强的《Spring揭秘》(由于已经绝版,出版社按需出版,购买链接)第11章,这是我见过的最好的一本讲解Spring背后原理、设计思想的书籍,虽然讲解的Spring版本有点老,但是基本上不影响Spring的学习。一.异常处理 或许你已经在使用AOP的方式进行异常处理,但是可能不知道这实际上对应着一...
2019-05-04 18:25:52
1372
原创 SpringBoot单元测试@SpyBean的方法被模拟却仍然进入的问题
在SpringBoot中用@SpyBean来表示一个“间谍对象”,允许它的某些方法被模拟,而剩下的方法仍然是真实的方法。import com.**.hydra.account.HydraAccountApplication;import com.**.hydra.account.config.DataSourceConfiguration;import com.**.hydra.clien...
2019-04-26 20:09:45
6870
原创 微信小程序开发中需要用的Http请求工具类
本工具类主要用于发送get、post请求用到的maven依赖<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.2.3</version> <...
2019-04-23 17:01:52
1491
原创 springboot+mybatis打包时,单元测试类报错
报错信息:2019-04-01 14:33:10.703 ERROR 1957 --- [ main] o.s.test.context.TestContextManager : Caught exception while allowing TestExecutionListener [org.springframework.boot.test.mock.mock...
2019-04-01 14:45:33
3403
原创 vue+freemarker中遇到的坑
java后端开发者做后台管理系统,用模版技术还是挺方便的,但是如果在页面上对数据进行修改,怎么办呢?可以用jQuery选中各个dom节点的值,然后组装成后台接口中需要的Form,再用ajax请求后台,这种方式的缺点在于,如果数据字段比较多,需要手动选择很多个dom节点,再取值,想想都可怕。由于笔者之前做过Angul...
2019-03-31 18:16:35
10247
1
原创 springboot maven "lib"模块的单元测试
由于在springboot maven的项目中分了模块,对于dao层模块来说,它没有@SpringBootApplication修饰的启动类,也就是说这个模块是没有spring ApplicationContext的,在单元测试的时候,报了错误:java.lang.IllegalStateException: ...
2019-03-29 17:41:24
515
原创 解决springboot maven多模块项目打包的时候某个被依赖的模块报错找不到main class
springboot maven 多模块项目打包的时候某个被依赖的模块报错[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.1.3.RELEASE:repackage (repackage) on project **-client: Execution repackage of...
2019-03-29 11:59:11
8857
5
原创 spring容器从哪些途径获取bean依赖关系元数据?
spring容器的工作原理如下:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;比如在web应用中,你提供了一系列Controller、Service、Component类等,要想让它们能够被放入spring容器,并按照依赖关系组织起来,你需要告诉spring它们之间的关系,这个需要告诉spring容器
2019-03-14 13:45:47
950
原创 重新认识spring的BeanFactory和ApplicationContext
首先BeanFactory、ApplicationContext都只是接口,ApplicationContext也间接继承了BeanFactory。DefaultListableBeanFactory是一个类,一个功能完备的,可以直接使用的容器,它只有XmlBeanFactory一个子类,还被标记为过时的。DefaultListableBeanFactory的继承体系如下:从Applica...
2019-03-13 18:44:50
1172
原创 Spring容器扩展点(Container Extension Points)
容器扩展点的概念&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Spring的IoC部分被设计成可扩展的。应用程序开发者通常不需要继承各种各样的BeanFactory或者ApplicationContext的实现类(BeanFactory和ApplicationContext都是接口)。通过插入(plug
2019-03-12 21:34:00
4688
原创 IDEA中debug程序的时候不想进入某些包或者类的解决方法
在IDEA偏好中(Preferences->Build,Execution,Deployment->Debugger->Stepping)设置Do not step into the classes选项,增加要过滤的包或者类:参考链接:1.https://stackoverflow.com/questions/20575107/how-to-force-intellij-t...
2019-02-23 16:44:21
21867
1
原创 springboot+dubbo报错Can not set XX field YY to org.apache.dubbo.common.bytecode.proxy0
报错信息:Caused by: java.lang.IllegalArgumentException: Can not set XX field YY to org.apache.dubbo.common.bytecode.proxy0 at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeF...
2019-02-15 14:27:02
4037
原创 解决在IDEA中启动springboot的web项目报关闭线程失败错误
在IDEA中启动springboot的web项目报错:2019-02-14 16:52:39,475|WARN |localhost-startStop-1|o.a.c.loader.WebappClassLoaderBase|180|The web application [ROOT] appears to have started a thread named [Abandoned conn...
2019-02-14 16:59:30
2977
原创 Collections.newSetFromMap使用场景
在看Spring源码的时候,偶然看到了BeanUtils.java类中有private static final Set&amp;lt;Class&amp;lt;?&amp;gt;&amp;gt; unknownEditorTypes = Collections.newSetFromMap(new ConcurrentReferenceHashMap&amp;lt;&amp;gt;(64
2019-02-11 18:56:55
6644
1
原创 解决mybatis-generator生成的Mapper文件中没有Selective结尾的方法
一开始从网上找的generatorConfig.xml内容如下:<!-- 配置生成器 --><generatorConfiguration> <!--执行generator插件生成文件的命令: call mvn mybatis-generator:generate -e --> <!-- 引入配置文件 --> <pr...
2019-01-31 16:03:18
6020
2
原创 application.yml中使用@获取maven pom.xml properties运行单元测试报错问题
application.yml文件中用@@引用maven的pom.xml文件中的属性yml文件中的内容:server: port: @server_port@maven的pom.xml文件中的内容:<profiles> <profile> ... <properties> <se...
2019-01-28 17:19:47
7263
3
原创 电商中的SKU和SPU
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;SKU和SPU是电商中最基础的概念。SKU是最小库存单元,SPU是标准化产品单元。&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp
2019-01-16 20:53:54
25861
2
原创 在ControllerAdvice中的ExceptionHandler方法中返回页面而不是Json的方式
当Controller中发生错误,从而进入了@ControllerAdvice注解标注的类中的@ExceptionHandler(Exception.class)标注的方法时,如果想返回json数据,只需要在该方法上标注@ResponseBody,就会将方法的返回值以Json的方式发送给调用者。可是有时候想返回一个html页面,或者ftl模版生成的html页面给访问者。那么此时需要该方法返回一个M...
2019-01-09 16:26:12
4199
3
原创 事务的相关概念
1.事务边界指何时开启事务,何时结束事务(包括回滚和提交),即事务的开启和结束的地方就是事务的边界。2.事务补偿事务commit后,想消除事务带来的影响的操作就是事务补偿,比如从A账户转100元到B账户,即A账户减100元,B账户加100元,事务提交后想取消刚才的转账,那么就得补偿事务,就得在另一个事务中给A账户加100元并给B账户减100元。事务补偿和事务回滚的区别在于,补偿是在事务提交...
2018-11-30 14:13:16
311
原创 MySQL中的数据类型之日期/时间类型
MySQL中的数据类型主要有:数字类型、日期/时间类型、字符串类型。日期/时间类型MySQL中的日期和时间类型有date、time、datetime、timestamp和year。每一种时间类型都有一定范围的有效值,也有零值,当你指定一个无效的MySQL表示不了的值的时候,MySQL可能会使用零值。其中timestamp类型和datetime类型可以自动更新。MySQL允许time、date...
2018-11-01 22:41:58
13243
1
原创 MySQL中的数据类型之数字类型
MySQL中的数据类型主要有:数字类型、日期/时间类型、字符串类型。数字类型下面的M在不同的数据类型后面的含义是不同的!!!在表示int(或integer)类型时表示的是显示宽度(display width),最大显示宽度是255。显示宽度和数字类型的取值范围是无关的。例如,int(11)表示的是显示宽度是11,int(10)表示的是显示宽度是10,它们都是整型,整型占用的空间是固定的4个字节...
2018-11-01 17:46:09
5060
翻译 Java范型中 ? extends T 和 ? super T 的区别
前言:向上转型是安全的,向下转型是不安全的,除非你知道List中的真实类型,否则向下转型就会报错。extendsList&amp;amp;amp;amp;lt;? extends Number&amp;amp;amp;amp;gt; foo3意味着下面的赋值语句都是合法的:List&amp;amp;amp;amp;lt;? extends Number&amp;amp;amp;amp;gt; foo3 = new ArrayList&am
2018-10-31 19:59:32
9173
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅