依赖注入的方式:
Setter:
Interface(接口)
Constructor(构造方法)
Annotation(注解)
BeanFactory IOC容器的基本接口,是Spring框架的基础设施,面向Spring,相当于一个引擎
ApplicationContext IOC容器的高级表现形式,面向使用Spring框架的开发者,相当于一辆车
ApplicationContext的功能(继承多个接口)
BeanFactory:管理、装配BeanResourcePatternResolver:能够加载资源文件MessageSource:能够实现国际化等功能ApplicationEventPublisher:注册监听器,实现监听机制Spring Bean的作用域
singleton:Spring的默认作用域,容器里拥有唯一的Bean实例prototype:针对每个getBean请求,容器都会创建一个Bean实例web容器支持:request:会为每个Http请求创建一个Bean实例session:会为每个session创建一个Bean实例globalSession:会为每个全局Http Session创建一个Bean实例,该作用域仅对Portlet有效AOP的三种织入方式
编译时织入:需要特殊的java编译器,如AspectJ类加载时织入:需要特殊的Java编译器,如AspectJ和AspectWerkz运行时织入:Spring采用的方式,通过动态代理的方式,实现简单AOP的主要名词概念
Aspect:通用功能的代码实现Target:被织入Aspect的对象Join Piont:可以作为切入点的机会,所有方法都可以作为切入点Pointcut:Aspect实际被应用在的Join Point,支持正则Advice:类里的方法以及这个方法如何织入到目标方法的方式Weaving:Aop的实现过程Advice的种类
前置通知(before) 后置通知(AfterReturn)异常通知(AfterThrowing)最终通知(After)环绕通知(Around)
Spring里的代码模式的实现
真实实现类的逻辑包含在了getBean方法里
getBean方法返回的实际上是Proxy的实例
Proxy实例是Spring采用JDK Proxy或者CGLIB动态
Spring事务
ACID
隔离级别
事务传播