Spring学习笔记
snow_7
想当个花瓶的程序媛
展开
-
Spring4学习笔记----Spring的依赖注入详解
Spring是一个IOC和AOP容器,Spring是非侵入型的,基于Spring开发的web应用中的对象可以不依赖Spring的API.IOC:依赖注入 (让Spring Bean以配置文件的形式组织在一起)所谓依赖注入:在程序运行过程中,如需要另外一个对象协作(调用他的属性、方法),无需在代码中创建该被调对象,而是依赖外部容器的注入。一、Spring容器(1)Spring容器原创 2016-07-27 20:47:31 · 2374 阅读 · 0 评论 -
Spring事务的传播和隔离
事务的传播和隔离一、事务的传播当事务方法被另一个事务方法调用时, 必须指定事务应该如何传播.例如: 方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行.事务的传播行为可以由传播属性指定. Spring 定义了7 种类传播行为.常用的:(1) PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开原创 2016-08-04 15:20:31 · 515 阅读 · 0 评论 -
Spring4笔记----用基于 XML 的AOP配
(1)声明切面当使用 XML 声明切面时,需要在 根元素中导入 aop Schema在 Bean 配置文件中,所有的 Spring AOP配置都必须定义在 元素内部.对于每个切面而言,都要创建一个 元素来为具体的切面实现引用后端 Bean实例. 切面 Bean 必须有一个标示符,供 元素引用(2)声明切入点切入点使用 元素声明原创 2016-07-31 12:25:11 · 416 阅读 · 0 评论 -
Spring4笔记----AOP的环绕通知、切面的优先级以及重用切入点定义
一、环绕通知环绕通知是所有通知类型中功能最为强大的, 能够全面地控制连接点.甚至可以控制是否执行连接点.对于环绕通知来说, 连接点的参数类型必须是ProceedingJoinPoint . 它是JoinPoint 的子接口,允许控制何时执行,是否执行连接点.在环绕通知中需要明确调用 ProceedingJoinPoint 的proceed() 方法来执行被代理的原创 2016-07-31 11:53:40 · 5483 阅读 · 0 评论 -
Spring4笔记----AOP的返回通知和异常通知
返回通知:无论连接点正常返回还是抛出异常,后置通知都会执行。如果只想在连接点返回的时候记录日志,应使用返回通知代替后置通知。在返回通知中,只需要在@AfterReturning注解中添加returning属性,就可以访问连接点的返回值。必须在通知方法的签名中添加一个同名参数,在运行时Spring AOP会通过这个参数传递给返回值。在方法法正常结束后执行的代码 返回通知是可以原创 2016-07-31 11:36:53 · 7445 阅读 · 0 评论 -
String4笔记----AOP的前置通知和后置通知
Spring的AOP(1)引入AOP的相关jar包com.springsource.net.sf.cglib-2.2.0.jarcom.springsource.org.aopalliance-1.0.0.jarcom.springsource.org.aspectj.weaver-1.6.8.RELEASE.jarspring-aspects-4.0.0.RELEASE.jar原创 2016-07-30 13:47:37 · 913 阅读 · 0 评论 -
Spring4笔记----AOP概述
一、 上图中每一个运算模块。横向来看都有验证参数,前置日志,后置日志。如果每个模块都自己去实现这些功能不仅使代码混乱,也造成代码繁重冗余。而且每个业务模块不能仅仅只关注自身的业务逻辑实现。二、AOP的一些概念解释:(1)切面(Aspect) 横切关注点(跨越应用程序多个模块的功能)被模块化的特殊对象(2)通知(Advice): 切面必须要完成的工作目标(T原创 2016-07-30 11:41:51 · 436 阅读 · 0 评论 -
Spring4笔记----动态代理
代理设计模式的原理: 使用一个代理将对象包装起来,然后用该代理对象取代原始对象.任何对原始对象的调用都要通过代理.代理对象决定是否以及何时将方法调用转到原始对象上.也就是说在调用原对象的方法的前面和后面,可以加上要实现的追踪代码。这样就解决了原来代码的分散和混乱。使业务逻辑只关心业务。代码:package com.spring.aop;import java.lang.原创 2016-07-30 10:59:21 · 455 阅读 · 0 评论 -
Spring4笔记----为什么要使用AOP
希望实现;一:在程序执行期间追踪正在发生的活动二:希望计算器值处理整数的计算;要实现以上要求:我们可以在调用方法的前后对正在发生的活动进行追踪,代码:(1)运算的接口package com.spring.aop;public interface ArithmeticCalculator { int add(int i, int j); int sub(int i, in原创 2016-07-30 10:34:16 · 455 阅读 · 0 评论 -
Spring4笔记----Bean 的生命周期方法
(1)Spring IOC容器可以管理 Bean的生命周期, Spring允许在 Bean生命周期的特定点执行定制的任务.Spring IOC 容器对 Bean的生命周期进行管理的过程:通过构造器或工厂方法创建 Bean 实例为 Bean 的属性设置值和对其他Bean 的引用调用 Bean 的初始化方法Bean 可以使用了当容器关闭时, 调用原创 2016-07-29 10:27:40 · 445 阅读 · 0 评论 -
Spring4----使用注解方式配置bean和bean的属性
使用注解方式配置bean和bean的属性配置bean一、在classpath中扫描组件Spring 能够从 classpath下自动扫描,侦测和实例化具有特定注解的组件.(1)特定组件包括:@Component: 基本注解,标识了一个受 Spring管理的组件@Respository: 标识持久层组件@Service: 标识服务层(业务层)组件@原创 2016-07-29 10:16:12 · 4435 阅读 · 1 评论 -
Spring4笔记----实现 FactoryBean 接口配置 Bean
Spring 中有两种类型的 Bean, 一种是普通Bean, 另一种是工厂Bean, 即FactoryBean. 工厂 Bean 跟普通Bean不同, 其返回的对象不是指定类的一个实例, 其返回的是该工厂 Bean 的 getObject 方法所返回的对象 import org.springframework.beans.factory.FactoryBean;import org.s原创 2016-07-28 16:50:36 · 536 阅读 · 0 评论 -
Spring4笔记----工厂方法配置bean
(1)静态工厂方法调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中.当客户端需要对象时,只需要简单地调用静态方法,而不同关心创建对象的细节.要声明通过静态方法创建的 Bean, 需要在Bean 的class 属性里指定拥有该工厂的方法的类,同时在 factory-method属性里指定工厂方法的名称.最后, 使用 元素为该方法传递原创 2016-07-28 16:33:06 · 355 阅读 · 0 评论 -
Spring4笔记----使用外部属性文件配置 bean
在配置文件里配置 Bean 时, 有时需要在Bean 的配置里混入系统部署的细节信息(例如:文件路径、 数据源配置信息等)。 而这些部署细节实际上需要和Bean 配置相分离。 Spring 提供了一个 PropertyPlaceholderConfigurer的 BeanFactory后置处理器, 这个处理器允许用户将 Bean配置的部分内容外移到属性文件中。可以在 Bea原创 2016-07-28 09:55:07 · 1012 阅读 · 0 评论 -
Spring4笔记----bean的作用范围
使用bean的scop属性来配置bean的作用域。1. singleton:是bean的默认值,Spring IOC容器中仅有一个bean实例,bean以单例的方式存在。scope="singleton"> 整个bean的生命周期只会有一个People对象 2. prototype:(原型的),容器在初始化时不创建bean,每次从容器中调用bean时,都返回一原创 2016-07-28 09:54:10 · 391 阅读 · 0 评论 -
Spring4----Bean之间的关系
1、继承(指的的配置上的继承)Spring 允许继承 bean的配置,被继承的 bean称为父 bean.继承这个父 Bean的 Bean称为子 Bean子 Bean 从父Bean 中继承配置,包括 Bean的属性配置,子 Bean也可以覆盖从父 Bean继承过来的配置。 若只想把父 Bean 作为模板,可以设置 的abstract原创 2016-07-28 09:03:48 · 362 阅读 · 0 评论 -
Spring的事务管理机制
一、数据库事务数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。事务的四个关键属性(ACID):(1)原子性(atomicity):事务是一个原子操作, 由一系列动作组成.事务的原子性确保动作要么全部完成要原创 2016-08-04 10:54:26 · 703 阅读 · 0 评论