spring AOP个人理解

来源:互联网 发布:渡口网络破产 编辑:程序博客网 时间:2024/04/30 17:59
人们一般的认为spring最大优势就是集成了aop(切面注入)和ioc(依赖注入),但是在我感觉最大的好处其实是ioc,但是今天说的是aop,就先把ioc放到一边。

aop切面编程,顾名思义就是在一个 定义一个切面,在切面的纵向定义处理方法,处理完成之后,回到横向业务流。作为spring为核心组成部分之一, 最常见的就是事务控制,而一般在源码不缺失的情况下能见到也只有事务控制(就我而言,应该是我太菜的缘故),一般使用spring使用aop都是在配置文件下通过正则的方式匹配被事务控制的类,但是这正是我所诟病的地方,这种配置方式固然简化了开发过程所要注意的业务的事务处理方向,但是,所有的方法都要增加事务控制难免影响程序性能,所以一般我的事物控制都不是用这种配置方式,而是关注业务方向,具体到那种业务,来具体不同的事物,比如查询的方法,一般不加事物控制,因为无论查询失败还是成功对数据库里的数据并没有构成影响,而单一(注意这个单一)新增和修改,看业务的关键度,非关键业务可不加。对于有字段是唯一的方法要加(根据try catch住的异常做处理)。至于对一个方法里有两次及以上的数据库操作,这是肯定要加事务控制的。及在方法上加 @Transactional注解

欢迎各位大牛的批评教育
0 0
原创粉丝点击