springboot单独使用feign简化接口调用 与HttpClient和RestTemplate相比,使用springcloud的feign调用远程接口更为简便,可以通过配置的方式快速书写接口调用的代码。但是有时我们并不像使用springcloud,而只是想在springboot中使用feign,我在网上搜了很多springboot单独集成feign,但都不能用,在通过学习、开发后简单整理了一个教程。详细介绍如何在springboot中单独集成feign以简便的方式调用远程接口。
mybatis使用resultType=hashmap时发现值为null的参数没有返回导致空指针异常 解决方法:配置mybatis配置中的callSettersOnNulls参数为ture;官网是这样介绍这个参数的:指定当结果集中值为 null 的时候是否调用映射对象的 setter(map 对象时为 put)方法,这在依赖于 Map.keySet() 或 null 值初始化的时候比较有用。注意基本类型(int、boolean 等)是不能设置成 null 的。默认情况下,callSett...
Callable,Runnable比较及用法 1.Runnable和Callable的相同点 Runnable的源代码如下:@FunctionalInterfacepublic interface Runnable { public abstract void run();} Callable的源代码如下:@FunctionalInterfacepublic interface Callabl...
JVM加载class文件的原理机制? 1.JVM加载class文件的原理机制?JVM即Java Virtual Machine,Java虚拟机。Java中的所有类都必须装载到JVM中才能运行,java中类的装载由JVM的类加载器完成,类加载器的实际工作就是将class文件从硬盘读取到内存中。Java中的类大致可以分为三种:1)系统类2)扩展类3)由程序员自定义的类而类的加载器也分为三种,即Bootst...
使用private修饰内部类 public class OuterClass { private class InnerClass { public void print() { System.out.println("打印内部类 "); } } public static void main(String[] args) { ...
一些有关spring中aop的术语和基础概念 如果了解过spring,都应该熟悉或者了解过aop即面向切面编程的概念,但是在学习aop时有一些术语总是在困扰着我们,本篇文章就spring aop中用到的术语和基础概念进行详细的讲解:Joint point(连接点):表示在程序中明确定义的点,比如方法调用,对类成员的访问等等 Pointcut(切点):表示一组 joint point,这些 joint point通过通配、正则表达式等方式...
中文加解密异常的问题 在使用AES加密时要注意指定字符编码,要使用String.getBypes(String charsetName)而不能使用String.getBytes(),后者源码中有一句:String csn = Charset.defaultCharset().name();Charset.defaultCharset()返回此Java虚拟机的默认字符集。默认字符集在虚拟机启动期间确定,通...
Spring初始化Bean和销毁Bean的逻辑处理 如果需要Spring在Bean初始化或Bean销毁之后执行一些逻辑,那么有三种方法,一、第一种方法是通过指定Bean的init-method方法和destroy-method的方法1、首先先在Bean中添加两个方法,一个是在初始化后执行的方法,一个是在Bean销毁之后执行的方法public class Bean { public void onInit() { ...
使用Lambda表达式来实现设计模式中的策略模式 1.什么是策略模式? 策略模式代表解决一类算法的通用解决方案,你可以在运行时选择使用哪种方案。2.策略模式包含三部分:(1)一个代表某个算法的接口(2)一个或多个该接口的具体实现,比如声明一个Strategy接口,而后创建实现Strategy接口的类(StrategyA和StratetyB)(3)一个或多个使用该策略(接口)的客户3.我们可以先定义一个验证数值大小的接...
使用itext5给PDF添加文字水印 1.首先在pom文件添加依赖 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13</version>...
final关键字的作用 用final关键字修饰的类不能被继承,即该类是最终类;用final关键字修饰的实例变量的值不能被修改用final关键字修饰的方法不能被子类重写,但可以被子类继承;这里重新说一下重写的定义:子类中的方法只要方法签名即方法名+参数列表相同即为重写。参数列表即参数类型及参数顺序,不包括参数名称例如:...
使用fastjson序列化对象时,添加getter方法 使用fastjson序列化对象时,添加getter方法后,在序列化的时候,fastjson会先利用反射找到对象类的所有get方法,接下来去掉get前缀,然后首字母小写,作为json的每个key值,而get方法的返回值作为value。添加到json中。例如:实体类Userpublic class User implements Serializable{ private Long ...
文件下载或导出注意事项 1.ajax不能用于下载文件,ajax请求只是个字符型的请求,即请求到的内容是以文本类型存放的。文件的下载是以二进制形式进行,虽然可以读取到返回的response,但只是读取,无法执行。也就是说js无法调用到浏览器的下载处理机制。2.解决办法:可以使用a标签来实现下载<a href="/file/download">点击下载</a>3.也可以使用表单提交的方式...
创建持久化实体类需要注意的事项 1.实体类需实现Serializable接口,标记实体类可序列化。2.实体类中需加 private static final long serialVersionUID; serialVersionUID适用于Java的序列化机制,简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的seria...
jquery为元素动态添加点击事件注意事项 //为登出按钮添加点击事件 $(".top_exit>a").click(function () { ajaxLeave(); });1.错误写法:该写法将导致运行到该语句时,立即运行ajaxLeave方法,而不是当点击事件发生时。 //为登出按钮添加点击事件 $(".top_e...
如何使用Spring框架判断对象是否为空 使用org.springframework.util包下的ObjectUtils.isEmpty(Object obj),源码如下public static boolean isEmpty(Object obj) { if (obj == null) { return true; } if (obj.getClass().isArray()) { return Ar...
Long.ValueOf(Str) 与 Long.parseLong(Str) 的区别 Long.ValueOf(Str) 与 Long.parseLong(Str) 的区别Long.ValueOf(Str) 返回Long包装类型Long.parseLong(Str) 返回long基本数据类型
验证码倒计时 获取验证码的html为:<a href="javasript:;" onclick="getVerifyCode()">获取短信验证码</a>js代码为 var countdown=60; //obj是Jquery对象 function settime(obj) { if (coun...
随机整数的生成 要想随机生成从1到100,包括1,但不包括100的整数有两种方法:new Random().nextInt()和Math.random(),下面来谈一下两种方法的区别:1.两种方法分别属于不同的类:new Random().nextInt()是java.util.Random类中的方法Math.random()是java.lang.Math类中的静态方法2.使用方法和产生随机数的范...