SpringMVC学习记录文章目录:
1、程序的耦合和解耦思路
2、使用springIOC解决程序耦合的前期准备
3、BeanFactory和ApplicationContext的区别及ApplicationContext接口的实现类
4、bean标签及其实例化的3种方式
5、bean的作用范围和生命周期
6、Spring的依赖注入
7、基于注解的IOC环境搭建
8、基于注解的IOC-常用注解(Spring2.5规范)
9、Spring常用注解-新(Spring2.5规范以上)
10、Spring整合Junit单元测试
11、AOP的相关概念
12、Spring中AOP的术语
13、SpringAOP常用标签解释说明
14、SpringAOP中切入点表达式说明
15、SpringAOP类型说明及环绕通知的特殊说明
16、基于xml的SpringAOP配置
17、SpringAOP常用注解
18、基于注解的SpringAOP配置
19、Spring中的JdbcTemplate
20、Spring中的事务控制
execution:
- 匹配方法的执行(常用)
- execution(表达式)
表达式语法:execution([修饰符] 返回值类型 包名.类名.方法名(参数))
写法说明:
- 全匹配方式:
- public void com.service.impl.CustomerServiceImpl.saveCustomer()
- 访问修饰符可以省略
- void com.service.impl.CustomerServiceImpl.saveCustomer()
- 返回值可以使用*号,表示任意返回值
- * com.service.impl.CustomerServiceImpl.saveCustomer()
- 包名可以使用*号,表示任意包,但是有几级包,需要写几个*
- * *.*.*.*.CustomerServiceImpl.saveCustomer()
- 使用…来表示当前包,及其子包
- * com..CustomerServiceImpl.saveCustomer()
- 类名可以使用*号,表示任意类
- * com..*.saveCustomer()
- 方法名可以使用*号,表示任意方法
- * com..*.*()
- 参数列表可以用具体类型来表示参数类型
- 基本类型直接写类型名称:int
- 应用类型必须是包名.类:java.lang.Integer
- 参数列表可以使用*,表示参数可以是任意数据类型,但是必须有参数
- * com..*.*(*)
- 参数列表可以使用…表示有无参数均可,有参数可以是任意类型
- * com..*.*(..)
- 全通配方式:
- * *..*.*(..)
在实际开发中一般对业务层的方法进行增强:
写法:
- * com.service.impl.*.*(..)
<!-- 定义通用的切入点表达式,如果写在aop:aspect标签外部(写在aspect标签之前),则表示所有切面可用 -->
<!-- 定义通用的切入点表达式,如果写在aop:aspect标签内部部,则表示只有当前切面可用 -->