- 博客(56)
- 收藏
- 关注
原创 Spring 中BeanDefinitionRegistryPostProcessor的作用
BeanDefinitionRegistryPostProcessor功能如下:1、因为实现了BeanFactoryPostProcessor接口,所以可以修改bean定义中属性,具体操作可以参照https://blog.csdn.net/lsq_401/article/details/1055085352、还可以动态的添加bean到spring容器中而且它的执行会优先其他自定义的实现...
2020-04-14 18:41:38
1142
原创 Spring 中BeanFactoryPostProcessor和BeanPostProcessor接口的分析
一、BeanFactoryPostProcessor是在spring加载了bean定义文件之后,bean实例化之前执行的。 该接口只有一个postProcessBeanFactory方法,这个方法的入参是这个类型ConfigurableListableBeanFactory,该类型的定义如下:public interface ConfigurableListableBeanF...
2020-04-14 16:53:21
544
原创 初探Spring Cloud Fegin (参数传递篇)
SpringCloud中微服务之间的调用,传递参数时需要加相应的注解。主要用到的就是这三个注解@RequestBody,@RequestParam,@PathVariable上一篇已经展示了怎么使用@RequestParam该注解,这一篇我们使用一下剩下的两种注解:@PathVariable使用如下:只需要在eureka-fegin-service和eureka-fegin-servi...
2019-11-19 18:40:22
681
原创 初探Spring Cloud Fegin (简单使用)
Fegin是一个声明式的web service 客户端。使用Fegin只需要在接口上加上注解就好了,方便快捷。Feign具有可插拔的注解特性,包括Feign 注解和JAX-RS注解,同时增加了对 Spring MVC的注解,Spring Web 默认使用了HttpMessageConverters, Spring Cloud 集成 Ribbon 和 Eureka 提供的负载均衡的HTTP客户端 F...
2019-11-19 17:53:21
410
原创 初探Spring Cloud Eureka
既然用到微服务,服务的注册和发现应该可以算作是微服务的核心了吧。使用过dubbo的人,应该都知道dubbo的服务注册和发现中心是通过zookeeper来提供的。Eureka 是 Netflix 开源的服务注册发现组件,当然也可以提供类似的功能。启动类:EurekaServerApplicationpackage com.cn;import org.springframework.bo...
2019-11-15 12:04:36
130
原创 初探Spring Cloud
关于Spring Cloud 的简介功能多么强大,多么受人追宠,我就不说了,百度一下你就知道。话不多说,先上一下自己项目的目录结构:Gradle总的配置文件group 'com.cn'version '1.0-SNAPSHOT'apply plugin: 'java'sourceCompatibility = 1.8buildscript { ext { ...
2019-11-15 11:25:50
141
原创 elasticsearch中NestedQueryBuilder的使用
{ "blackList":[ { "inTime":1568719526137, "relationKey":2, "relationValue":"957588FF-28B6-4388-B7FB", "outTime":1571311526137, ...
2019-09-18 15:22:03
16984
4
原创 阿里云OSS上传、下载和生成临时url授权第三方上传操作
阿里云OSS的基础配置 private static String accessKeyId = ""; private static String accessKeySecret = ""; private static String bucketName = ""; private static String endpoint = "https://oss-cn...
2018-10-18 16:12:18
32578
2
原创 git创建项目的基本操作
第一次使用git,写个笔记记录一下,方便下次参考。1、注册账号(https://github.com/)并且登录进去2、创建一个仓库,like this:3、填写一些仓库的信息4、随便在电脑的某个硬盘创建一个文件夹,用作git的操作目录,然后进入该目录,右键Git Bash Here5、初始化仓库git init6、把代码clone到本地git clone https://github.com/s...
2018-04-16 16:21:54
298
原创 阿里云服务器安装RabbitMQ之后,外网不能访问
今天在阿里云服务器上安装了一个RabbitMQ,安照网上的教程一步一步的安装之后,发现外网就是访问不了,经过一番查资料才发现是被阿里云服务器的安全规则拦截了,他们的安全规则默认只开了22、3389和-1这三个端口,而mq的15672端口是不允许访问的,需要配置安全规则才可以访问。...
2018-04-12 22:25:39
7449
9
原创 用synchronized和lock实现循环打印AB
以前一直对多线程这一块很模糊,平时工作中也很少用到(技术太渣),闲来无事就写了一下面试经常会让手写的循环打印。两个线程中传入了同一个对象,所以如果一个线程加锁之后,另一个线程就不可以访问该对象所拥有的所有同步方法,就是用这种思想,实现了下面的循环打印。 1、用Lock实现package com.cn;import java.util.concurrent.locks.Condition;i...
2018-03-31 10:30:35
1930
原创 java实现开根号的运算
面试的时候,偶然被问到,开根号的实现,虽然给面试官讲解了思路,但是没有实际实现过,今天闲来无事,就把自己的思路写一下,做个笔记。如果某个数字正好可以开根号为2个整数,例如1,4,9等,那就很简单了。如果某个数字不可以正好开根号为2个整数,而且要保留几位精度,例如:2,3,5等,我们该怎么办呢?????首先我们可以把这个数字分成整数部分和小数部分,分别计算。例如√5≈2.236 我们可以先算出整数...
2018-03-24 15:31:29
69972
2
原创 插入排序算法
package com.cn.sort;public class InsertSort { public static void main(String[] args) { int arr[] = {45,89,56,23,10,20}; sort(arr); for (int i = 0; i < arr.length; i++) { System.out.pri...
2018-03-15 17:53:20
111
原创 快速排序算法
package com.cn.sort;public class FastSort { public static void main(String[] args) { int arr[] = {45,89,56,23,10,20,45}; sort(arr, 0, arr.length-1); for (int i = 0; i < arr.length; i++) {...
2018-03-15 17:51:51
104
原创 用java手动实现一个链表的增删改查
链表实际上就是用很多个Node节点组成的,每个节点Node又包含对象部分和指向下一个节点的指针。对链表的操作其实归根到底就是对节点指针的操作。链表的插入: 1、头插法:每次把新插入的节点当着头结点; 2、尾插法:每次把新插入的节点放在尾部; 3、指定位置插入法:每次在指定位置插入某个节点。链表的删除: 删除指定位置上的某个节点链表的查询: 1、根据节点位置查询该节点; ...
2018-03-15 17:47:19
3141
1
原创 mysql同时用and和or关联查询条件,并且值包含null所遇到的坑
今天写sql的时候,发现当某个字段的值为‘0’,‘1’,或者数据库默认的null的时候,用“!=”查询,结果集中是不包含null的假如你这样写SELECT *FROM common_messageWHERE message_category = 'READ'AND message_status != '0' 查询出来的结果集是这样的:然后我想,既然他缺少包含null的,我在用or拼接一...
2018-03-09 16:50:35
5007
1
原创 关于类的静态加载顺序
关于类中静态变量和静态方法以及构造方法之类的加载顺序问题现在成了面试中的基本问题,今天闲来无事,就写一篇博客来记述一下。1、如果只是某个类自身的内部的情况package com.cn.bb;public class TestParentStatic { static{ System.out.println("父类静态代码块first"); } pri
2017-12-07 11:43:28
1036
转载 一条sql去除mysql的重复记录
1、查询出重复记录形成一个新的临时表t,临时表里是每种重复记录的最新id (SELECTMIN(id),user_id,user_nameFROMAGROUP BYuser_id,user_nameHAVINGCOUNT(*) > 1) t2、关联判断重复基准的字段A.user_id = t.user_idA.user_name =
2017-12-05 12:14:30
239
原创 dubbo+zookeeper+spring mvc
生产者和消费者的spring-mvc.xml、spring-mybatis.xml、log4j.properties和pom.xml文件都一样spring-mvc.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
2017-03-13 17:48:00
371
原创 Static关键字的作用有那些?
Static可以用于修饰变量、方法、代码块、内部类和静态导包。1、Static可以用于修饰变量示例如下:package com.cn;public class TestStatic { private static int a = 10; public static void main(String[] args) { System.out.println(Test
2017-02-28 17:38:28
1761
原创 Java Integer的缓存策略
在 Java 5 中,为 Integer 的操作引入了一个新的特性,用来节省内存和提高性能。整型对象在内部实现中通过使用相同的对象引用实现了缓存和重用。适用区间:-128 到 +127在创建新的 Integer 对象之前会先在 IntegerCache.cache 中查找。有一个专门的 Java 类来负责 Integer 的缓存。(IntegerCache 具体可以参看源码)这
2017-02-16 16:16:25
310
原创 vuejs项目运行的探索之路
初次尝试学习vue.js的探索之路非常感谢该博客主人提供的例子vueadmin(http://www.cnblogs.com/taylorchen/p/6083099.html)1、先安装nodejs环境2、进入到项目vueAdmin-master目录下执行npm install下载依赖国内被墙,报错,然后网上查询可以设置代理,用cnpm,果断尝试一下,执行下述命令npm
2016-12-28 20:28:05
8001
原创 linux下jdk的安装
1、进入usr目录,执行mkdir java2、把下载好的jdk压缩包放到/usr/java目录3、解压jdktar -zxvf jdk-8u111-linux-x64.tar.gzjdk的安装目录为/usr/java/jdk1.8.0_1114、然后修改配置文件(进入/usr/etc目录)vi profile在文件末尾加上下述命令export JAVA_HOM
2016-12-17 15:40:17
259
原创 my97DatePicker的基本使用
Title 开始日:结束日: var start = { elem: '#start', format: 'YYYY/MM/DD hh:mm:ss', min: laydate.now(), //设定最小日期为当前日期 max: '2099-06-16 23:59:5
2016-12-14 17:11:40
411
原创 angular的表格排序、分页和一些基本操作
本文用到的插件和上一篇文章基本一样附上上一篇博客的链接:http://blog.csdn.net/lsq_401/article/details/52681725此文用到的分页插件,附上链接:https://www.miaoyueyue.com/archives/813.htmlPS:再此感谢这位朋友提供的分页插件。老规矩先上项目目录结构:html代码如下:
2016-10-03 15:19:58
7265
2
原创 angular注册
本文用到了bootstrap的样式和font-awesome的图标,angular.js的版本为1.5.0bootstrap的下载路径:http://www.bootcss.com/font-awesome的下载路径:http://www.bootcss.com/p/font-awesome/font-awesome的图标使用参考路径:http://www.bootcss.co
2016-09-27 16:25:58
805
原创 redis集群搭建
环境:vmware + centos + redis-3.2.1步骤:1、在/usr/local目录下创建cluster目录 mkdir cluster2、在/usr/local/cluster目录下创建如下目录(7000、7001、7002、7003、7004、7005) mkdir 7000 7001 7002 7003 7004 70053、在/usr/local
2016-09-22 21:57:31
236
原创 Backbone的model学习笔记二
html的模板同此文http://blog.csdn.net/lsq_401/article/details/510244781、backbone的监听事件var People = Backbone.Model.extend({ initialize: function(){ //alert('我已经被创建!');
2016-03-31 18:45:01
338
原创 Backbone的model学习笔记一
model故名思议,就是一个模型。和java后端开发的数据库映射的model是一样的性质。下面让我们一起来揭开她神秘的面纱:首先准备一个html模板: backbone的model学习/title> 。。。。。。。这里面就是model代码的编写区域1、定义一个model对象,并且初始化她 var People = Bac
2016-03-31 11:55:29
401
原创 解析json字符串,并且获取其中某个key的值
public static void main(String[] args) { String findStr = "hobby,listening,chinese";//查找json字符串中的某个key的值,定义查找目录的顺序 String str = "{\"person\": {\"name\": \"jack\"},\"hobby\": {\"listening\": [{\"ch
2016-03-23 11:38:15
24242
转载 java基本类型与引用类型
百度知道中copy的,欲看原文自行百度。栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和 multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存
2016-03-22 09:55:39
236
原创 memcached需要了解的事情
1、不要在单机中使用memcached(如果网站数据库、服务器和缓存服务器在一起,缓存服务器会消耗大量的内存)。2、不要把重要的数据存放到缓存服务器上,这些数据在断电重启后就会丢失的。3、定期查看缓存的分布状况和命中率。4、memcached的LRU算法不是全局,只是针对某个slab的,是区域性的。例如下图的88、112、144.。。。都是一个slab。如果88这个slab中的ch
2016-02-16 18:23:15
390
原创 json数据转对象工具类
一、定义系统常量Constant.javapublic final static String RETURN_CODE="rtnCode";//返回编码public final static String RETURN_MSG="rtnMsg";//返回信息public static final String DATA = "data";//返回数据public static fin
2016-02-15 16:11:43
615
原创 分页的封装工具类
分页封装类/** * 分页封装类 * @param */public class PageResult { /** 结果数据集合 **/ private List resultList = new ArrayList(); /** 数据总量 **/ private int totalCount; /** * 总页数 */ private int pag
2016-02-15 16:02:32
369
原创 List去除重复数据
List list = new ArrayList(); list.add("1"); list.add("2"); list.add("3"); list.add("1"); list.add("2"); list.add("3"); System.out.println("去重前的list:"+list); ArrayList result = new Arra
2016-02-01 14:36:26
492
原创 关于list的addAll方法
List的addAll方法可以把一个同类型的list添加到另外一个list当中,并且可以进行一系列操作。PS:如果像下面这样,单纯的把一个list在添加一份的话,如果在对里面的对象进行操作,就会出现问题,这是由于引用的地址空间一样的原因List totalList = new ArrayList();for (int i = 0; i < 3; i++) { Us
2015-12-07 17:41:22
4964
原创 maven配置jetty
maven配置jetty插件在pom.xml文件的build标签中添加如下代码: org.mortbay.jetty maven-jetty-plugin 6.1.5 ///配置应用上下文 10 8080
2015-11-23 10:04:07
299
原创 mybatis的一对多和一对一的关系
user表user_role表PS:user表中的id对应user_role表中的u_iduser类public class User { private Integer id; private String username; private String password; private Integer i
2015-11-21 15:25:34
451
原创 前端 json字符串转换成json对象
例如:var str = '{ "name": "lsq", "pass": "lsq" }';1、用js原生函数eval进行解析的话如下:var obj = eval('(' + str + ')'); 解析后如下:obj=Object {name: "lsq", pass: "lsq"}可以通过这样获取值:obj.name 返回值:
2015-11-19 10:57:04
1549
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人