- 博客(60)
- 资源 (3)
- 收藏
- 关注
原创 spring加载流程refresh之finishBeanFactoryInitialization(beanFactory)
前言:经过前面的方法,最后终于到了最困难的方法finishBeanFactoryInitialization(),实例化所有的单例bean。这个方法以下面两个类为基础进行解析。public class X { @Autowired Y y;}class Y { @Autowired X x;}点开finishBeanFactoryInitialization()这个方法,我们看一看具体实现: protected voi...
2021-07-06 16:58:42
305
原创 Spring 详解Bean的后置处理器
Bean的后置处理器详解:Spring当中的后置处理器是Spring体用的一个扩展点,开发者只要去实现,Spring当中的BeanPostProcessor接口,那么就能插手SpringBean实例化的一个过程,怎么插手呢?它是在我们bean被放到Spring Bean容器之前去做一个插手,也就是说可以对我们的bean做一个改变。Spring 在实例化单例Bean的过程中,会在9个地方执行5个后置处理器。 第一个后置处理器:BeanPostProcesso...
2021-07-02 16:28:33
4947
1
原创 Spring之invokeBeanFactoryPostProcessors
invokeBeanFactoryPostProcessors这个方法会实例化和调用所有BeanFactoryPostProcessor,包括子类:
2021-06-25 17:24:29
872
1
原创 Spring之@Autowired 让你毁三观的自动装配
今天我要在这里说一件让你毁三观的事情。 我们JAVA程序员经常使用的@Autowired这个zhujie
2021-06-18 11:46:00
395
1
原创 如何编译Spring源码
学习spring源码的第一步便是需要去编译源码;很多网友在编译spring源码的时候遇到了困难继而放弃了spring源码的学习;这篇文章主要来阐述如何正确的编译spring源码;首先你得检查你的网线能正常上网;最好网速还行;不然你会疯掉...
2021-06-17 17:59:03
494
1
原创 Spring源码解析二 obtainFreshBeanFactory
我们接着上次的说,上次还剩下AnnotationConfigApplicationContex这个类的构造方法里调用的refresh();没有说,我们今天来看看这个重点方法:refresh();
2021-06-15 17:52:03
242
原创 Spring源码解析一 创建bean工厂 加载bean定义
Spring 最重要的概念是 IOC 和 AOP,而他们究竟是什么,我一步一步来解开Spring的神秘面纱。版本 5.1.X引言 BeanFactory 简介 首先说明,作者这里说的是beanFactory而不是FactoryBean,这两个名字是颠倒的,但是功能是完全不一样的,不了解的可以参考我另外一篇文章。https://mp-new.youkuaiyun.com/mp_blog/creation/editor/117602060 beanFactory 从名字上...
2021-06-11 14:42:37
243
2
原创 如何实现JDK动态代理与Cglib动态代理
1、JDK动态代理 通过使用Proxy和InvocationHandler 来动态创建对象的方式。
2021-06-09 17:42:57
255
1
原创 Spring的@Autowired是先bytype还是先byname
Spring的@Autowired这个注解是先bytype再byname,通过源码分析可以知道,spring中的属性填充是通过populateBean这个方法完成(后期有时间补充一下spring中的属性填充流程),spring中初始化bean是不管属性,先将bean new出来,然后在调用populateBean方法的后置处理器来进行属性的填充。@Autowired的后置处理器是AutowiredAnnotationBeanPostProcessor,通过postProcessPropertyValues方
2021-05-09 00:13:09
1522
转载 红黑树
我是感觉好玩就拿过来用了原地址:https://blog.youkuaiyun.com/qq_36610462/article/details/83277524什么是红黑树?————————————二叉查找树(BST)具备什么特性呢?1.左子树上所有结点的值均小于或等于它的根结点的值。2.右子树上所有结点的值均大于或等...
2019-12-11 17:08:05
112
原创 设置activemq开机自启
这个连接是springboot搭建activemq1、建立软连接# ln -s /usr/local/activemq/bin/activemq /etc/init.d/2.注册为系统服务# vi /etc/init.d/activemq3.ls -lrt /etc/alternatives/javalrwxrwxrwx 1 root root 35 Nov 28 1...
2019-11-28 11:59:04
506
原创 谷歌浏览器卸载后无法安装或者点击安装程序没反应
在桌面新建xxx.txt文件,将下面内容复制进去,并更改后缀为.reg,然后双击运行,如果你装有360这样的防护软件,会提示是否允许什么的,点允许,再重装chrome就可以安装成功了。Windows Registry Editor Version 5.00; WARNING, this file will remove Google Chrome registry entries ...
2019-10-14 17:22:12
2846
6
转载 Java集合---ConcurrentHashMap原理分析-----在读多写少的环境下使用
1、为什么引出ConcurrentHashMap? 1.1、 因为在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 1.2、 为保证线程安全那为什么不使用HashTable容器? HashTable容器使用synchronized来保证线程安全,但是在线...
2019-07-05 15:45:29
1214
原创 Java面试题之HashSet 的实现原理?
HashSet 的实现原理?首先,我们知道它是Set的一个实现,所以保证了当中没有重复的元素。一方面Set中最重要的一个操作就是查找。而且通常我们会选择HashSet使用的是散列函数,那么它当中的元素也就无需可寻,当中是允许元素为Null的。1、它是基于HashMap实现的,默认构造函数是构建一个初始容量为16,负载因子为0.75的HashMap。封装了一个HashMap对象...
2019-07-05 14:47:39
498
翻译 TreeSet 实现
TreeSet 继承与实现TreeSet实现了NavigableSet接口,而该接口实现了SortedSet接口。而SortedSet接口一个有序的集合类。TreeSet的底层是通过TreeMap实现的。TreeSet并不是根据插入的顺序来排序的,而是根据实际插入的值的大小来排序。TreeSet的两种排序方式:1、自然排序2、自定义排序TreeSet的基本属性...
2019-07-05 10:53:40
553
原创 Solr 搜索
solr 文件<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.data</groupId> <artifactI...
2019-06-27 18:08:18
215
转载 Spring 如何解决程序中过多的if .. else..
原文:https://blog.youkuaiyun.com/kisscatforever/article/details/89432158<dependency> <groupId>com.google.code.google-collections</groupId> <artifactId>google-collect</arti...
2019-06-19 11:41:59
1215
原创 springboot怎么集成redis,jedis
1、application.yml配置如下: redis: database: 0 host: 127.0.0.1 port: 6379 password: 123456 timeout: 10000 jedis: pool: max-active: 5000 max-wait: 1000 ...
2019-06-06 09:28:29
344
原创 java 利用poi完成导出excel表格
注意:我并没有做分页导出,根据需求自己更改数据源1、依赖jar <!--excel--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId>...
2019-04-19 15:28:06
215
转载 微信支付
实现Java (springMVC)后台端接入微信app支付,回调。最近去实现Java端实现微信app的后台代码,自己也是查看了很多文档,最终实现了后台端代码的预订单生成,已经前段支付成功后的回调校验,好了废话不多说,直接编写我所实现的路程。(写的不好,大神们不要喷我,如果有雷同请联系我 qq:47092202)微信APP支付实现首先需要导入必须的jar包,根据个人而定,我是用了一下j...
2019-04-04 13:15:09
158
原创 solr配置与集成ik分词器,导入数据库
Solr安装配置一、Solr各种版本集合下载:http://archive.apache.org/dist/lucene/solr/二、Solr安装配置1.JDK配置:jdk1.8.0_151;Tomcat配置:apache-tomcat-8.0.472.解压solr-7.2.1.zip ,解压目录:F:\software\solr-7.2.13.把solr7.2.1目录下...
2019-03-27 17:28:39
668
原创 spring整合solr
<!--配置Solr的客户端--><bean id="httpSolrClient" class="org.apache.solr.client.solrj.impl.HttpSolrClient"> <!--注入的是连接地址--> <constructor-arg index="0" value="http://127.0.0.1:8...
2019-03-27 17:02:14
1011
原创 关于redisTemplate对list泛型的操作
redis配置#--------- redis --------------redis.master.ip=localhostredis.master.port=6379# 自己添加的密码redis.pass=**** spring-redis.xml文件的配置<?xml version="1.0" encoding="UTF-8"?><be...
2018-12-28 15:44:29
4427
原创 根据经纬度计算一定范围的两点的距离(以一个中心点计算一定距离的最大最小经纬度)
说一下经纬度:纬度是指某点与地球球心的连线和地球赤道面所成的线面角,其数值在0至90度之间。说白了就是说,赤道为线,以横面往上就是维度。经线:也称子午线,也就是南北,上下的线。以用户的定位为中心点,eg:郑州火车站的经纬度(距离是10KM):(34.7461262753,113.6585426331)计算出以郑州火车站为中心,半径为10KM的正方形,{最大经度maxLat=113....
2018-11-13 14:45:16
3478
原创 ajax上传头像
依赖jar<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version></dependency><...
2018-11-02 09:28:14
783
转载 js实现浏览器的复制
<div style="margin-left: 150px; margin-top: 10px;"> <div cols="20" id="biao1" style="color: white">${user.invitecode}</div> <input type="button" onC
2018-10-31 16:20:12
1073
原创 jedis配置文件
每次连接比较麻烦,写了一个连接的bean文件public class RedisPool { //Redis服务器IP private static String ADDR = "127.0.0.1"; //Redis的端口号 private static int PORT = 6379; //访问密码 private static Strin...
2018-10-10 15:04:26
2183
原创 关于页面下载文件
关于页面下载文件:需要注意几点,最好不要使用流下载,可以直接返回地址,让浏览器自己去确认,如果解析不了会当成文件自动下载,只需要返回下载路径即可。 ...
2018-10-07 16:46:27
213
转载 JSON依赖jar
<dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.3</version> </dependenc
2018-10-07 09:54:18
427
原创 阿里云的MQ消息队列
Exception in thread "main" com.aliyun.openservices.ons.api.exception.ONSClientException: Receive a broker exception,这是由于权限引起的,需要到RAM访问控制台中,找到用户名,对其授权,即可解决。...
2018-09-26 09:54:25
4180
1
转载 关于redis 对象与集合的 序列化与反序列化
public class SerializeUtil { //序列化 public static byte[] serialize(Object object) { ObjectOutputStream oos = null; ByteArrayOutputStream baos = null; try { ba...
2018-09-22 17:05:12
3159
原创 动态添加删除tr 点击修改 获取input值
for(var i=0;i<obj.productstockList.length;i++){ var str='<tr>' + '<td></td>' + '<td>' + '规格<input type="text" id="styleName'+obj..
2018-09-19 10:45:11
557
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人