- 博客(11)
- 收藏
- 关注
原创 《Spring技术内幕》学习笔记--Spring AOP
Spring AOP的设计与实现 Spring AOP使用的核心技术是动态代理,动态代理实际是JDK的一个特性,可以为任意java对象创建代理对象,这个特性是根据java反射来完成的。java的Reflection包中的Proxy对象,InvocationHandler接口 中介类被要求实现InvocationHandler接口,这个接口的定义如下 public interface ...
2018-06-01 17:57:54 266 1
原创 《Spring技术内幕》学习笔记--AOP
AOP基本概念:Aspect-Oriented Programming,面向方面编程的简称,Aspect是一种新的模块化机制,用来描述分散在对象、类或方法中的横切关注点(crosscutting concern),从关注点中分离出横切关注点是面向方面程序设计的核心所在。分离关注点使得解决特定领域问题的代码从业务逻辑中独立出来,业务逻辑的代码中不再含有针对特定领域问题代码的调用,业务逻辑同特定领域问...
2018-05-23 22:49:30 243
原创 《Spring技术内幕》学习笔记7--Spring IoC 容器的基本工作原理
IoC容器和上下文的基本工作原理、容器的初始化过程、依赖注入的实现等等。总地来说,关于容器的基本工作原理,可以大致整理出以下几个方面:BeanDefinition的定位。对IoC容器来说,它为管理POJO之间的依赖关系提供了帮助,但也要依据Spring的定义规则提供Bean定义信息。我们可以使用各种形式的Bean定义信息,其中比较熟悉和常用的是使用XML的文件格式。在Bean定义方面,Spri...
2018-05-23 16:51:39 238
原创 《Spring技术内幕》学习笔记3--自动依赖装配autowiring
Spring IoC容器提供了两种管理Bean依赖关系的方式: 显示的依赖注入:通过BeanDefinition的属性值和构造函数以显示的方式对Bean的依赖关系进行管理。 自动依赖装配autowiring:在自动装配中,不需要对Bean属性做显示的依赖关系说明,只需要配置好autowiring属性,Ioc容器会根据这个属性的配置,使用反射自动查找属性的类型或者名字,然后基于属性的类型或者名字...
2018-05-23 14:04:35 777
原创 《Spring技术内幕》学习笔记2--Ioc容器的依赖注入
Ioc容器的依赖注入 Ioc容器初始化过程,一般不包括Ioc容器对Bean依赖关系的注入,Bean定义的载入和依赖注入是两个独立的过程。 依赖注入一般发生在应用第一次通过getBean向Ioc容器索要Bean的时候触发,但也有例外,在Bean定义信息中通过控制lazyinit属性让容器完成对Bean的预实例化,这个预实例化过程也是一个依赖注入的过程,但它在初始化的过程中完成,而不需要等第一次使...
2018-05-22 22:52:16 168
原创 《Spring技术内幕》学习笔记1--Spring Ioc容器初始化
Ioc容器初始化 SpringIoC容器初始化会执行BeanDefinition的Resource定位、载入和注册。通过这个过程使得Spring拥有了所有的bean的定义,为后续bean的创建、自动注入和销毁提供了数据支持。 1.BeanDefinition的Resource定位 即BeanDefinition的资源定位,由ResourceLoader通过统一的Resource接口来完成。这...
2018-05-22 22:52:00 205
原创 BeanPostProcessor
BeanPostProcessor这个Bean的后置处理器是一个监听器,可以监听容器触发的事件。 BeanPostProcessor是一个接口类,它有两个接口方法: postProcessBeforeInitialization(Object bean, String beanName),在Bean的初始化前提供回调入口 postProcessAfterInitialization,在Bea...
2018-05-22 22:51:39 292
原创 FactoryBean
使用容器时, 通过转义符&来得到FactoryBean本身,用来区分通过容器获取FactoryBean产生的对象和获取FactoryBean本身 就是说,如果一个FactoryBean的名字为a,那么,&a会得到那个FactoryFactoryBean和BeanFactory BeanFactory是Factory,也就是Ioc容器或对象工厂;在Spring中,所有的Bea...
2018-05-22 22:30:55 185
原创 java 知识点整理
Java运行时数据区1.程序计数器:当前线程所执行的字节码行号的指示器。 java虚拟机多线程是通过线程间轮流切换来分配给处理器执行时间;在确定时间节点,一个处理器(一核)只会执行一个线程的指令;为保证 线程切换 回来后能恢复到原执行位置,各个线程间计数器互相不影响,独立存储 如果程序执行的是一个Java方法,则计数器记录的是正在执行的虚拟机字节码指令地址;如果正在执行的是一个本地(na...
2018-05-04 11:45:10 14873
原创 java @interface自定义注解和通过反射获取注解属性值
@interface@interface用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数。 方法的名称就是参数的名称,返回值类型就是参数的类型 参数类型只能是基本类型、Class、String、enum。 可以通过default来声明参数的默认值。 Java注解就是一种特殊的接口,使用@interface自定义注解时,自动继承了java.lang.annotation.An...
2018-04-21 20:31:13 5612
原创 Maven简介和使用
Maven简介maven是一个软件项目管理工具,可以用来管理项目的依赖、编译、文档等信息。Maven的运作方式使用maven管理项目时,项目依赖的jar包将不再包含在项目内,而是集中放置在.m2目录下(你本地的Maven库)。Maven会自动根据dependency中的依赖配置,直接通过互联网在Maven中心库下载依赖包到.m2目录下。 所依赖的jar包的dependen...
2018-04-18 20:19:13 1042
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人