Web Technology Spring Dependent Injection:依赖注入 Type1:接口注入:实现容器接口,由容器完成对象关系的建立。侵入 式代码。 Type2: setter注入: setxXx(0, spring推荐。 Type3: constructor注入。在实例化时完成注入。运行时难以改变。 Demo Springloc DemolComputer in Dos env HelloSpring in Myeclipse env
Web Technology 16 Spring ▪ Dependent Injection: 依赖注入 - Type1: 接口注入:实现容器接口,由容器完成对象关系的建立。侵入 式代码。 - Type2: setter注入:setXXX(),spring推荐。 - Type3: constructor注入。在实例化时完成注入。运行时难以改变。 Demo SpringIOCDemo\Computer in DOS env HelloSpring in Myeclipse env
Web Technology Bean Lifecycle- Instantiate Startup Populate properties BeanNameAware's setBeanName o BeanFactoryAware's setBean Factory o ApplicationcontextAware's setApplicationcontext o Pre-initialization BeanPostProcessors InitializingBean's afterPropertiesseto Call custom init-method Post-initialization Beanpostprocessors Shutdown Di sposableBean's destroy o Call custom destroy-method
Web Technology Bean Lifecycle- ▪ Startup ▪ Shutdown 17
Web Technology Spring AOP ORM DAO Web Spring JDBC JEE Spring Web Mvc Framework Integration JCA Rich View Support JSPs Email AOP Spring Portlet Mvc Aspect integration Core
Web Technology 18 Spring AOP
Web Technology AOP Concept 跨越多个模块的关注点称为横切关注点或交叉关注点( Crosscutting Concerns) Course Service Student Service c 309 Misc Service Figure 3.1 Cross-cutting concerns
Web Technology 19 AOP Concept 跨越多个模块的关注点称为横切关注点或交叉关注点(Crosscutting Concerns)
Web Technology Spring AOP Aspect(切面) 解决跨越多个模块的交叉关注点问题(大多数是一些系统级的或者 核心关注点外围的问题)的模块。 Log, Exception, Security, Transaction Joinpoint(连接点, Spring AOP中当前只有方法调用) Before Method, After Method Return, Exception Thrown Advice(通知定义了切面中的实际逻辑(即实现) A piece of code Pointcut(切入点,一个或多个 joinpoint,切入点的描述比较具体,而 且一般会跟连接点上下文环境结合) Joinpoint where you insert Advice
Web Technology 20 Spring AOP ▪ Aspect(切面) - 解决跨越多个模块的交叉关注点问题(大多数是一些系统级的或者 核心关注点外围的问题)的模块。 Log, Exception, Security, Transaction ▪ Joinpoint ( 连接点,Spring AOP中当前只有方法调用) Before Method, After Method Return, Exception Thrown ▪ Advice ( 通知,定义了切面中的实际逻辑(即实现)) A piece of code ▪ Pointcut (切入点,一个或多个joinpoint, 切入点的描述比较具体,而 且一般会跟连接点上下文环境结合) Joinpoint where you insert Advice