spring框架笔记
Spring实现依赖注入的两种方式:
1.构造方法注入
2.set方法注入,p标签注入
Spring中事务的两种实现方式:
编程式事务管理
声明式事务管理(推荐)
Spring增强类型:
Before 前置增强处理,在目标方法正常运行(不发生异常)前织入增强处理
AfterRetuning 后置增强处理,在目标方法正常执行(不发生异常)后植入增强处理
AfterThrowing 异常增强处理,在目标方法抛出异常后织入增强处理
After 最终增强,不论方法是否抛出异常,都会在目标方法最后织入增强处理
Around 环绕增强处理,在目标方法运行前后都可以织入增强处理。
Spring实现AopDE FANGSHI :
采用生命的方式来实现(基于XML)
采用注解的方式来实现(基于Aspectj)
Spring Bean作用范围 scope=" "
singleton:这是默认的Scope,表示整个Web容器中或者整个应用中只会有一个实例。(spring 默认)
prototype:多利模型,表示每次从Bean容器中都会获得对应bean的全新实例。
request:仅适用于Web环境下的ApplicationContext,每一个HttpRequest声明周期内会有一个单独的实例
session:仅适用于Web环境下的ApplicationContext,HttpSession生命周期内会有一个单独的实例。
globalSession:仅适用于Web环境下的ApplicationContext,Protlet环境下,每一个全局HttpSession下会有一个单独的实例
application:仅适用于Web环境下的ApplicationContext,表示在ServletContex生命周期内会拥有一个单独的实例。
spring 注解:
@Autowired 注解是按照类型装配以来对象,默认情况下依赖对象必须存在,如果允许null值,可以设置他的required属性为false。如果想按照名称来装配,可以配合@qualifier注解一起使用
@Resource注解默认按照Byname自动注入。@Resource有两个重要属性:name和type,spring 将@Resource的name属性和type属性解析为Bean的名字和类型,如果既不指定名字也不指定type,将通过反射机制使用byname自动注入策略。
两者共同点:都可以卸载字段和setter方法上。两者如都写在字段上不需要setter方法。
spring涉及到的设计模式:
简单工厂 工厂方法 单例模式 适配器模式 包装器模式 代理模式 观察者模式 策略模式 模板方法