一. Spring的IOC的注解开发
注解的入门 (1) 引入aop的包 (2) 引入context约束 a. <context:component-scan /> (3) 使用注解开发 a. @Component :定义Bean a) @Controller :WEB层 b) @Service :Service层 c) @Repository :DAO层 b. 属性注入: a) 普通属性 :@Value b) 对象属性 :@Resource i. @Autowired :按类型注入属性,按名称@QulifierXML方式和注解方式比较 (1) XML方式 :适用性更广,结构更加清晰。 (2) 注解方式 :适用类是自己定义,开发更方便。XML和注解的整合开发 (1) XML定义类 (2) 注解属性注入 二. Spring的AOP的基于AspectJ的XML的开发AOP的概述 (1) AOP:面向切面编程,是OOP的扩展和延伸,是用来解决OOP遇到问题。Spring的AOP (1) 底层的实现 a. JDK的动态代理 b. Cglib的动态代理 (2) AOP的相关术语 a. 连接点:可以被拦截的点。 b. 切入点:真正被拦截的点。 c. 通知:增强方法 d. 引介:类的增强 e. 目标:被增强的对象 f. 织入:将增强应用到目标的过程。 g. 代理:织入增强后产生的对象 h. 切面:切入点和通知的组合 (3) AOP的入门开发 a. 引入jar包 b. 编写目标类并配置 c. 编写切面类并配置 d. 进行aop的配置 a) aop:config i. <aop:pointcut expression=”execution(表达式)” id=”pc1”/> ii. <aop:aspect ><aop:before method=”” pointcut-ref=”pc1”/> iii. </aop:aspect> b) </aop:config> (4) 通知类型 a. 前置通知 b. 后置通知 c. 环绕通知 d. 异常抛出通知 e. 最终通知 (5) 切入点表达式写法源码:(编译器为IDEA) https://github.com/zhangzhishun/spring4_day02_idea
