自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 问答 (2)
  • 收藏
  • 关注

原创 spring源码学习,其十四:AutoProxyCreator成员

2021-04-17 10:46:02 102

原创 spring源码学习,其十三:@EnableAspectJAutoProxy

spring要在类上加上@EnableAspectJAutoProxy注解开启AOP的使用我们点击进去@EnableAspectJAutoProxy源码里面方法proxyTargetClass为true的话就默认使用cglib进行代理,为false的话就尽可能的使用jdk动态代理,但是jdk动态代理的前提是被代理对象必须实现接口,如果被代理对象未实现接口,还是会采用cglib进行代理注意看EnableAspectJAutoProxy这个注解类的定义@Target(ElementTyp

2021-04-17 10:06:20 872

原创 spring源码学习,其十二:BeanPostProcessor类

BeanPostProcessor家庭成员BeanPostProcessor主要用于在bean的初始化前后,添加一些自定义逻辑在AbstractAutowireCapableBeanFactory类中initializeBean方法会调用InstantiationAwareBeanPostProcessor接口的主要作用是在bean的实例化过程中给bean加上其他的逻辑(作用于bean的实例化,跟初始化是有区别的)在AbstractAutowireCapableBea..

2021-04-17 08:57:54 121

原创 spring源码学习,其十一:初探springAOP

一、切面aspect:将横切关注点逻辑进行模块化封装的实体对象就类似与ServiceAspect类,注意切面是实体类对象二、通知Advice:如果把aspect比作class的话,那么Advice好比class里面的方法,还定义了织入逻辑的时机。三、连接点JoinPoint:允许Advice使用的地方,一个概念springAOP默认只支持方法级别的JoinPoint四、切入点PointCut:定义一系列规则对JoinPoint进行筛选五、目标对象Target:符合PointC

2021-04-15 17:27:29 86

原创 spring源码学习,其十:spring容器的refresh()方法

refresh方法内部逻辑整理:prepareRefresh();刷新前的工作准备obtainFreshBeanFactory();获取子类刷新后的内部beanFactoryprepareBeanFactory(beanFactory);为容器注册必要的系统级别beanpostProcessBeanFactory(beanFactory);允许容器的子类去注册postProcessorinvokeBeanFactoryPostProcessors(beanFactory);调用

2021-04-13 15:49:15 90

原创 spring源码学习,其九:spring的事件监听

时间对象发布事件,事件监听器处理事件Spring事件发布的类图ApplicationContextEvent表示容器的事件Spring事件监听器如何使用事件监听器只要在你对应的方法里面加上@EventListener注解,就能用这个方法实现监听。spring的事件发布器有两个相关的接口ApplicationEventPublisher以及ApplicationEventMulticasterApplicationEventPublisher只能用来发...

2021-04-13 09:59:26 61

原创 spring源码学习,其八:Aware及其子接口

先看看接口内容没有任何方法,在spring里被当做一个标签来使用常见的Aware接口如下BeanNameAware实现了这个接口之后通过重写setBeanName(String name) 方法,可以获得当前Bean的名字ApplicationContextAware实现了这个接口之后可以获得setApplicationContext(ApplicationContext applicationContext) 容器的上下文对象ApplicationContext ...

2021-04-13 08:46:18 52

原创 spring源码学习,其七:后置处理器PostProcessor

BeanDefinitionRegistryPostProcessor负责对Bean实例的自定义注册。BeanPostProcessor Bean的后置处理器

2021-04-13 08:23:52 60

原创 spring源码学习,其六:注解迷失下spring加载Bean

调试源码ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Entrance.class);进入AnnotationConfigApplicationContext类构造方法通过this();调用父类构造方法这里父类构造方法已自身为参数初始化了this.reader = new AnnotatedBeanDefinitionReader(this);this.scann

2021-04-12 21:15:48 42

原创 spring源码学习,其五:BeanDefinitionReader

1

2021-04-12 10:48:48 153

原创 spring源码学习,其四:Resource、ResourceLoader、容器之间的关系

spring对物理资源的访问方式抽象成了一个Resource接口每一种实现类代表一种资源的访问策略EncodedResource实现spring对文件编码的处理AbstractResource实现了对Resource大部分接口的基本实现ClassPathResource访问类加载路径下的资源(对于web应用来说可自动搜索位于WEB-INF/classes下的资源文件)FileSystemResource访问文件系统资源ResourceLoader用于...

2021-04-11 20:55:44 110

原创 spring源码学习,其三:容器家族

高级容器均实现了ApplicationContext接口,一般成为context、上下文EnvironmentCapable接口只有一个方法,就是Environment getEnvironment(); Environment表示环境参数,可以获取容器的一些启动参数,或一些环境因素等。ListableBeanFactory接口支持通过列表的方式管理Bean.HierarchicalBeanFactory接口支持多层级的容器来实现怼每一层bean的管理ResourceP...

2021-04-10 21:48:03 68

原创 spring源码学习,其二:spring容器

springIOC容器是一个管理Bean的容器BeanFactory是Spring容器得根接口,定义了Bean工厂最基本的功能FactoryBean本质也是一个bean,他的作用是用来生成普通的Bean的总结:BeanFactory管理bean,FactoryBean生成beanUserFactoryBean需要实现FactoryBean接口这里需要注意,此时通过getBean("userFactoryBean")获取到的实例是UserFactoryBean类getObj..

2021-04-10 20:42:19 100

原创 spring源码学习,其一Bean与BeanDefinition

Bean是spring得一等公民Bean得本职是java对象,只是这个对象的生命周期由容器来管理BeanDefinition------Bean定义根据配置文件或者注解,生成用来描述Bean的BeanDefinition,常用属性:(1)作用范围Scope(@Scope)(2)懒加载lazy-init(@Lazy) 决定类师傅延迟加载(3)首选primary:设置位true的bean是优先选择的实现类(4)factory-bean(工厂bean名称)和factory-meth..

2021-04-10 20:07:15 91

转载 cron表达式详解

cron表达式详解  Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:  (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year  (2)Seconds Minutes Hours DayofMonth Month DayofWeek    一、结构  corn从左到...

2018-03-29 23:21:43 181

转载 2017-04-05 idea使用快捷键

IntelliJ Idea 常用快捷键列表Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中

2017-04-05 17:55:44 1203

原创 2017-04-05js判断一个元素是否存在的方法

用JavaScript判断一个html元素是否存在的五种方法: 1. 判断表单元素是否存在(一) if("periodPerMonth" in document.theForm){ return true; }else{ return false; } 2. 判断页面元素是否存在 if(document.getElementById("XXX")){ //存在 

2017-04-05 14:18:08 786

原创 java选择保存文件的路径

import java.io.File;import java.io.FileOutputStream;import javax.swing.JFileChooser;import javax.swing.JPanel;import javax.swing.filechooser.FileNameExtensionFilter;public class Test

2017-04-05 14:11:41 9265

原创 2017-4-03在家中

placeholder="结束时间"  在input中可以用placeholder这个属性来控制初始化的显示效果。

2017-04-03 21:33:41 309

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除