- 博客(964)
- 资源 (14)
- 收藏
- 关注
原创 fastJson将字符串转换成泛型对象
ApiResultTo<ClassA> res = JSON.parseObject(JSON.toJSONString(resultTo), new TypeReference<ApiResultTo<ClassA>>(){});即通过TypeReference即可实现从字符串到泛型对象的转换,亲测可用...
2019-03-20 16:22:53 4080
原创 使用@ControllerAdvice如何返回给前端对应错误码
@ControllerAdvice可以捕获spring应用下面未被捕获异常,下面是常见代码: @ExceptionHandler(value = Exception.class) @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public String errorHandler(Exception ex) { ...
2019-03-20 13:49:44 3773 3
原创 jad Couldn't fully decompile method getIndex
使用jad以及JD-GUI反编译cglib产生的class文件时,发现这两种工具都不能很好的反编译fastclass文件,总会出现一部分汇编代码: /* Error */ public int getIndex(net.sf.cglib.core.Signature arg1) { // Byte code: // 0: aload_1 // 1: i...
2019-03-13 09:10:15 1150
原创 mybatis generator columnOverride
mybatis是现在使用比较广的一种ORM框架,mybatis generator可以根据数据库产生对应的实体以及mapper文件,但是mybatis generator默认会将tinyint类型映射为byte类型,如果我们想使用integer类型,那么可以使用下面的方式强行转换类型映射: <table tableName="xxxx" domainObjectName...
2019-02-14 17:50:26 10860 2
原创 springboot开启swagger功能
swagger作为一款不错的api查看工具在spring框架项目上使用十分广泛,使用界面如下图所示:具体使用方法:1.添加以下依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swag...
2019-02-11 15:39:00 6699
原创 spring configuration注解原理
spring既支持xml式配置bean,也可以通过@Configuration注解来配置bean,xml是spring最初支持的方式,随着springboot的出现,通过@Configuration注解来配置bean也越来越被采用,常见的配置如下:@Configurationpublic class TestConfig { protected static Logger ...
2019-01-19 09:52:05 7294
原创 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @Context
@SpringBootApplication@ServletComponentScanpublic class ApplicationMain { public static void main(String[] args) { SpringApplication.run(ApplicationMain.class, args); }}@RunWith(...
2019-01-04 18:01:43 2844 2
原创 solr之positionIncrementGap
positionIncrementGap这个特性针对multiValue字段使用,用于设置多值数据间的间隔,常见用法如下: <fieldType name="text_general_pos0" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index">
2019-01-02 08:53:54 1552
转载 Java 字符串转成运算公式
转载自:https://www.cnblogs.com/cocoat/p/6956610.htmlGroovyShell 实现public static void main(String args[]) { Binding binding = new Binding(); binding.setVariable("F",2.5); bi...
2018-12-12 18:00:42 6982 1
原创 solr synonyms.txt不支持输入中文
为了实现实际使用中有些简称的准确匹配,这个时候我们就需要定义一些同义词,具体做法就是在solr自带的synonyms.txt文件中填写我们想要的缩写与全称对应关系:配置完成后需要重启solr 对应core,如下图所示:reload solr core时提示org.apache.solr.common.SolrException: Could not load conf for...
2018-12-07 16:55:16 812
原创 spring框架上传文件原理探究
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- set the max upload size100MB --> <property na...
2018-11-23 15:16:50 888
原创 使用vue时方法名不要使用js的关键词
<a class="handle-btn" @click="delete()"> 删除 </a> 上述代码为vue对象的一个方法,由于delete跟js的关键词冲突,导致vue2 在解析该对象时有误直接不显示!!...
2018-11-06 18:07:08 638 1
原创 使用el-radio-group需要注意的地方
<template><el-radio-group v-model="radio2"><el-radio :label="3">备选项</el-radio><el-radio :label="6">备选项</el-radio><el-radio :label="9">备选项</el-radio...
2018-11-06 15:27:43 21385 3
转载 MySql 5.7关键字和保留字-附表
转载自:https://www.cnblogs.com/Z-Fanghan/p/6892944.html现在使用navicat图形界面或者Hibernate做映射生成表的时候,渐渐的会忽视掉关键字这个问题,而后续也会不断的产生错误提示,一遍遍的查询代码无果,甚至开始怀疑人生,但是其实很多情况下只是使用了保留字而已,因此在设计数据库之初便要尽量的规避关键字和保留字。但是这里要提一下的是mys...
2018-11-06 10:23:39 3160
转载 Redis缓存穿透、缓存雪崩、redis并发问题分析
转载自:https://www.toutiao.com/a6599200289725612557/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1541065504&app=news_article&utm_source=weixin&iid=465345828...
2018-11-02 07:56:12 319
转载 使用 v-cloak 防止页面加载时出现 vuejs 的变量名
转载自:https://www.sunzhongwei.com/hide-vuejs-variable-with-v-cloak-when-page-loading使用 vuejs 做了一个简单的功能页面,逻辑是,页面加载后获取当前的经纬度,然后通过 ajax 从后台拉取附近的小区列表。但是 bug 出现了,在显示小区列表之前,会闪现小区名对应的 vuejs 变量名。案发现场的 HTML ...
2018-11-01 13:23:27 362
原创 jquery fileupload设置http request headers
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些...
2018-09-14 09:32:42 3858
原创 DefaultMessageListenerContainer消息应答方式
JMS标准支持的消息应答模式有下面几种:AUTO_ACKNOWLEDGE:自动应答,默认的应答方式CLIENT_ACKNOWLEDGE:客户端应答,应答由应用程序在接收到消息后触发DUPS_OK_ACKNOWLEDGE:尽量不要使用,如果使用这种方式,应用程序需要考虑处理消息重复问题SESSION_TRANSACTED:事务应答使用MessageConsumer来接收消息时不管...
2018-09-07 10:34:03 2635
原创 springcloud config不得不说的事
使用过spring框架的朋友一定有过这种经历:就只是修改了一个配置文件,都需要重启系统(设置重新打包,比如springboot的jar包项目),到了springcloud这个问题就迎刃而解了,springcloud针对配置提供的方案就是今天的主题:spring-cloud-config,这是一个分布式配置一站式解决方案,使用起来也很方便,下面看下常规的配置:client端:spring.c...
2018-09-05 08:42:26 3412
转载 OPENSSL中RSA私钥文件(PEM格式)解析【一】
转载自:http://blog.sina.com.cn/s/blog_4fcd1ea30100yh4s.html在PKCS#1 RSA算法标准中定义RSA私钥语法为: RSAPrivateKey ::= SEQUENCE {version Version,modulus INTEGER, -- npublicExponent INTEGER, -- eprivateExpo...
2018-08-30 10:39:55 7982
原创 activemq之虚拟主题
虚拟主题是activemq提供的一种结合了queue与topic特性的一种虚拟目的地,虚拟主题兼顾了queue的负载均衡,同时又可以当topic一样使用,下面看一个图: 实际使用场景:分布式应用,这样可以避免同一个应用订阅同一个主题时导致必须修改clientId的限制,同时又可以在同一个应用的不同进行负载均衡,相关代码可以在下面的地址下载:https://gitee.com/j...
2018-08-21 16:54:24 1746
转载 pkcs1与pkcs8格式RSA私钥互相转换
注:亲验可用转载自:https://www.jianshu.com/p/08e41304edab1、PKCS1私钥生成openssl genrsa -out private.pem 1024private.pem 的内容如下:-----BEGIN RSA PRIVATE KEY-----MIICXAIBAAKBgQC5BW6T9GVaaG/epGDjPpY3wN0DrB...
2018-08-17 15:53:37 7062 2
原创 activemq持久订阅工作原理
对activemq消息订阅模式来说有两种:持久订阅/非持久订阅。非持久订阅consumer只能消费在该consumer激活状态时传送给对应topic的消息才能被该consumer消费,一旦该consumer 挂掉到下次启动期间发布到该topic的消息不能被该consumer重新恢复时使用!!!持久订阅:订阅之后,无论消息是否是在该consumer激活或者down掉期间发送的,最终都会被该c...
2018-08-16 15:05:15 1749
原创 activemq调用MessageListener.onMessage方法源码分析
activemq客户端调用MessageListener.onMessage方法的执行路径如下:ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)-->ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)-->org.apache.activ...
2018-08-15 15:22:56 3773
原创 activemq之MessageConsumer.receive方法
activemq提供的客户端分离了消息的读取以及接收,以Queue模式为例,这其中的中介就是ActiveMQMessageConsumer的unconsumedMessages属性(MessageDispatchChannel unconsumedMessages,该属性存储了将要被发送的消息),下面就以ActiveMQMessageConsumer:receive为例来说明读取消息: ...
2018-08-15 14:30:59 6685
原创 activenq之消息筛选
消息筛选器来在provider端过滤消息,只有当消息属性满足一定的条件,才将这些消息传送给对应的consumer!!!注:该特性只能作用于消息头以及消息属性,不能用来筛选消息体!实例代码:String filter = "sign = 'golang'"; MessageConsumer messageConsumer = session.createConsumer(d...
2018-08-15 13:55:38 322
原创 message.setJMSDeliveryMode没有效果
通过MessageProducer的setJMSDeliveryMode方法设置的模式可以影响发送消息的传送模式,为什么通过message.setJMSDeliveryMode设置的传递模式却没有影响传送消息的传递模式,下面以Queue为例来看下为什么会出现上面的情况:ActiveMQMessageProducerSupport:public void send(Message mes...
2018-08-13 18:54:59 1129
原创 详解resteasy Context注解实现
相信使用resteasy、包括dubbo的朋友对@Context这个注解一定不会陌生,我们可以通过@Context这个注解获取HttpServletRequest、HttpServletResponse等一些类的实体,那么为什么能获取到这些类的对象呢,其背后的实现原理又如何呢,闲话不多说,笔者将从resteasy源码出发,一一讲述这其中的缘由:核心类ServletContainerDispat...
2018-07-19 11:35:10 4398
原创 mysql四种事务隔离级别
说到数据库,必然离不开事务模型,mysql也不例外,笔者在看到网上一些文章后发现网上蛮多文章写得不太属实,所以决定在这里写一篇文章做一些补充,力求做到真实可追究:说到事务,必谈两个东西:事务的传递性以及隔离级别,虽然传递性这个东西跟mysql本身没有多大关系,但在实际使用中比如spring中使用了mysql数据库,spring就提供了以下几种事务传递性:TransactionDefinit...
2018-07-18 14:40:33 3289
原创 mybatis test标签判断值是否相等
mybatis可以很方便生成动态sql,常用的方式如下: <if test="id != null and id !=''"> and id != #{id} </if> 但是在实际使用过程中可能会需要对某个输入的值做具体判断,然后根据输入参数的值进行分支处理<select id="xxx...
2018-07-17 16:31:02 12407 1
原创 poi设置下拉列表超过一定数量时下拉列表没有内容
这个问题产生的根本原因在于excel对“手动插入下拉列表”项字数的限制,不能超过255个字节,超过了之后就不显示,具体解决方法可以查看笔者的另一篇文:https://blog.csdn.net/john1337/article/details/81074619...
2018-07-17 08:19:04 3948 3
原创 使用spring事务必须需要注意的问题
介绍事务的文章很多,这里就不做讲解了,本文主要讲解一个使用中应该注意的问题,否则可能会出现数据库连接池连接数再多也会被耗尽的问题,下面看一个典型的配置: <bean id="xxTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <proper...
2018-06-01 16:59:03 1120
原创 fastjson序列化从一个服务获取的数据,序列化时间有问题
fastjson是现在国内使用最广的一款json库了吧,开源自阿里巴巴,具体详情可以查看fastjson github主页,下面直接入主题,看应用场景:流程:1.前端调用服务A提供的接口获取展示数据2.服务A调用服务B提供的接口获取数据3.服务A读取从服务B获取到的data属性,然后强制转换成服务A中的某个实体列表,代码大致如下List<ClassA> payList = (L...
2018-06-01 13:45:29 713
原创 spring事务之传播特性
这个应该属于老生常谈的话题了,笔者在这里将根据具体的例子来讲解下spring的事务管理机制,希望帮助有需要的朋友,下面直接入主题:1.基础spring事务支持的几种传播类型:PROPAGATION_REQUIRED、PROPAGATION_REQUIRES_NEW、PROPAGATION_NESTED、PROPAGATION_SUPPORTS、PROPAGATION_NOT_SUPPORT...
2018-05-30 14:26:00 3537
原创 logback里面pattern详解
这里之所以要在这里单独把logback的pattern拿出来说一说,是因为笔者今天使用mybatis 的plugin机制把update 的sql语句全部保存到一个文件中,然后作为上线脚本!下面是笔者配置的logback.xml的相关代码: <logger name="com.xxxx.common.plugin" level="INFO"> <appende...
2018-05-08 18:06:46 24604
原创 lucene如何返回所有数据
我们在实际使用lucene的过程中,筛选多个条件时BooleanQuery这个类来实现,比如下面代码: BooleanQuery.Builder bqBuilder = new BooleanQuery.Builder(); if(!StringUtils.isEmpty(name)){ SmartChineseAnalyzer analyzer=new SmartChineseAn...
2018-03-08 14:37:52 3347 2
原创 solr analysis页面分析
当我们搭建好solr环境时就可以看到如下界面:我搭建的是solr集群模式,并创建了collection1以及banks两个collection,该collection有两个shard,每个shard有一个副本,这样当其中一个shard所在solr服务器挂掉时,仍然不影响查询!(PS:创建collection命令:http://localhost:8180/solr/admin/collection...
2018-03-01 10:03:34 1863
原创 上传solrcloud的配置文件到zookeeper
具体可以参考这篇文章:https://lucene.apache.org/solr/guide/6_6/command-line-utilities.html#CommandLineUtilities-Uploadaconfigurationdirectorysolr以集群模式工作时,通常选用zookeeper作为协调器,也需要把集群用到的配置文件上传到zookeeper上,如下图所示:这样当so...
2018-02-28 16:29:29 5492 1
thingsboard-mqtt脚本.zip
2020-05-13
Mastering Unit Testing Using Mockito and JUnit
2017-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人