今天学习的是 spring 的
AOP,这几天学的内容非常的多.我得及时的总结.很多的东西,虽然老师讲的很明白.当时,听也听懂了.可是总是记不住.一到用的时候,就手忙脚乱的.所
以,得及时的对学习的知识进行总结,并且要抓紧时间练习.练习在学习中是非常重要的,光总结是不行的.这对我们动手能力差的很重要.
1.spring的AOP
AOP(Aspect-Oriented Programming, 面向切面编程):利用的是动态代理技术.
好处:
每个事物逻辑位于一个位置, 代码不分散, 便于维护和升级业务模块更简洁, 只包含核心业务代码.
2.在AOP中经常用的到术语:
切面(Aspect): 横切关注点(跨越应用程序多个模块的功能)被模块化的特殊对象
通知(Advice): 切面必须要完成的工作
目标(Target): 被通知的对象
代理(Proxy): 向目标对象应用通知之后创建的对象
切入点(PointCut): 切面通知执行的”地点”的定义
连接点(Jointpoint): 与切入点匹配的执行点
AspectJ: Java 社区里最完整最流行的 AOP 框架.
3.在 Spring 中启用
AspectJ 注解支持
包:lib/aspectj/aspectjrt.jar 和 aspectjweaver.jar
XML:<aop:aspectj-autoproxy>
java:在类前@Aspect
方法前:
@Before:
前置通知,
在方法执行之前执行
@After
: 后置通知,
在方法执行之后执行
@AfterRunning:
返回通知,
在方法返回结果之后执行
将 returning="result" 属性添加到 @AfterReturning 注解中.在方法中使用
result 就可以直接得到.
@AfterThrowing
:
异常通知, 在方法抛出异常之后
将 throwing 属性添加到 @AfterThrowing 注解中
@Around
: 环绕通知,
围绕着方法执行
连接点的参数类型必须是 ProceedingJoinPoint
ProceedingJoinPoint 的 proceed() 方法来执行被代理的方法
切入点定义: @Pointcut
一个空的方法前声明,引用时写这个方法的方法名加括号.
可以用 && || ! 合并切入点
切入点表达式:execution(* ArithmeticCalculator.add(int, ..)) ||
execution(* ArithmeticCalculator.mul(int, ..)
在方法中声明 JoinPoint :
得到方法名joinpoint.getSignature().getName();
输出参数:Arrays.asList(joinpoint.getArgs())
指定切面的优先级: @Order(2) 值越小,优先级越高.
4.引入通知
@DeclareParents
注解类型的 value 属性表示哪些类是当前引入通知的目标. value 属性值也可以是一个 AspectJ 类型的表达式,
以将一个即可引入到多个类中. defaultImpl 属性中指定这个接口使用的实现类
5.使用XML方式进行配置
基于注解的声明要优先于基于 XML 的声明.
<aop:config>
横切性关注点
<aop:pointcut
expression="execution(* cn.itcast.spring.aop.xml.*.*(..))"
id="pointcut"/>
AOP 的切面信息都要配置在这个里面
<aop:aspect ref="LogginAspect">
前置通知
<aop:before
method="beforeLog" pointcut-ref="pointcut"/>
后置通知
<aop:after
method="afterLog" pointcut-ref="pointcut"/>
返回通知
<aop:after-returning method="afterReturningLog"
pointcut-ref="pointcut" returning="result"/>
异常通知
<aop:after-throwing method="afterThrowingLog" pointcut-ref="pointcut"
throwing="e"/>
环绕通知
<aop:around
method="aroundLog" pointcut="execution(*
cn.itcast.spring.aop.xml.ArithmeticCalculatorImpl.mul(..))"/>
</aop:aspect>
</aop:config>
6.spring
对JDBC的支持
JdbcTemplate 类被设计成为线程安全的
JdbcTemplate 只有 setter 方法, SimpleJdbcTemplate 只有构造方法.所以要注意注入
dataSource 的方式.
JdbcTemplate 的注入,使用的是 org.springframework.jdbc.core.JdbcTemplate .
并且要使用 setter 方式注入
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property
name="dataSource" ref="dataSource"/>
</bean>
SimpleJdbcTemplate 的注入,使用的 org.springframework.jdbc.core.simple.SimpleJdbcTemplate
类, 并且要使用构造方法注入.
从 JdbcTemplate 演变而来, 它利用 Java 1.5 的特性(自动装箱, 泛型, 可变长度等)来简化开发
<bean
id="simpleJdbcTemplate"
class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
<constructor-arg
ref="dataSource"/>
</bean>
相关推荐
尚硅谷-佟刚_Spring
尚硅谷-佟刚_Spring学习笔记和课件,欢迎学习爱好者下载资源,共同学习。。
传智播客 struts1.x 课堂笔记之应用总结
预习了struts后,今天开始参加冲刺班的学习。给我们讲课的是佟刚老师,佟老师的风格是注重实例。把每一个知识点用代码表现出来,保证没预习过的学员也能听懂。如果预习过struts相关的视频,听佟老师的课是比较轻松的。 首先介绍的MVC模式,佟老师对MVC的阐述如下:MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是一种设计模式,它
传智播客_佟刚sprin
传智播客_佟刚sprig 史上最全 通俗易懂
Spring从入门到精通视频教程
理解并掌握 Spring 中 IOC、DI、AOP 等核心概念理解 Spring 整合 Struts2 的基本原理
Spring的AOP和spring对Jdbc的支持(佟刚)
1.spring的AOP AOP(Aspect-Oriented Programming, 面向切面编程):利用的是动态代理技术. 好处: 每个事物逻辑位于一个位置, 代码不分散, 便于维护和升级业务模块更简洁, 只包含核心业务代码. 2.在AOP中经常用的到术语: 切面(Aspect): 横切关注点(跨越应用程序多个模块的功能)被模块化的特殊对象 通知(Advice):
传智播客 Spring学习 ,注解和AOP
今天继续复习Spring,黎老师讲的不错,经过这段时间的学习和在项目中对spring的使用,再看黎老师的视频,理解起来也就容易了。代码也敲了一遍,效果不错。今天主要看了注解和AOP这部分。使用注解, 通过在classpath自动扫描方式把组件纳入spring容器中管理 前面的学习都是使用XML的bean定义来配置组件。在一个稍大的项目中,通常会有上百个组件,如果这些这组件采用xml的be
传智播客-spring2.5(3)-spring的AOP
这是传说中的黎活明老师的课程,该课程网上有免费视频下载。之前提到的巴巴运动网项目就是黎活明老师一个人一手开发的(巴巴运动网在线首页),以前是传智播客的必授课程,现在改为Android开发课程,还是黎老师授课。Android开发课程视频因为考虑到学员就业竞争力和培训机构之间竞争力的问题,暂不对外公布,想学习Android 3G开发的话欢迎来传智播客亲自聆听,而且传智播客现在特别推出了为期一周的And
传智播客学习之Spring基础
传智播客学习之Spring基础今天和大家分享一下SSH最后一块技术——Spring。一、Spring框架概述1.起源和背景Rod Johson在2002年编著的《Expert one to one J2EE design and development》一书中,对Java EE正统框架臃肿、低效、脱离现实的种种现状提出了质疑,并积极寻求探索革新之道。以此书为指导思想,他编写了i
1.Spring简介(传智播客)
1.介绍 Spring是一个开源、轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,为了解决企业应用开发的复杂性而创建,但现在已不止应用于企业应用。 从大小与开销两方面而言Spring都是轻量的。 通过控制反转(IOC)的技术达到松耦合的目的。 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。 包含并管理应用对象的配置和生命周期,这个意义上是一种容器...
Java视频教程传智播客,2021最新38道Spring大厂面试题,你碰到过哪道
是声明性的支持。 3.spring中的模块儿有哪些? 模块包括一是测试,二是核心容器,三是面向特征的编程方式,四是数据访问与集成,五是网络开发模块。 4.什么是loc?什么是dI? ioc是依赖反转,dl是依赖注入。这种设计模式是为了提供松耦合性,从而去除程序中的强依赖性。 5.ioc容器起什么作用? ioc容器的作用如下,创建实例,配置实例和集成依赖。 6.ioc容器有几种类型? 有两种: beanfactory和applicationcontext. 7.beanfactory和applicatio.
传智播客Spring教程源代码截取
传智播客Spring教程源代码截取,个人使用。
传智播客--Spring中的事务管理,hibernate整合,struts整合(佟刚)
通过前两天的学习,对spring有了个全新的认识.虽然我以前学习过也在公司里用过,可是有些东西就知道怎么使用而不明白其中的工作过程也原理.通过老师深入的分析和讲解,使我对spring的理解有加深了一步.还有一天,好好学习.在后面的项目中使用才能得心应手.1.事务的四个关键属性(ACID) 原子性(atomicity) 一致性(consistency)
Spring第一篇_Spring的概述
1. Spring的概述 1.1 Spring是什么? Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 **IoC(Inverse Of Control: 反转控制)**和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC 和持久层 Spring JDBC 以及业务层事务管理等...
传智播客 Spring基本概念介绍与环境搭建
Spring是由佟刚老师回来跟我们这个班上课。上过这么多课以后,发现佟老师讲课比较详细,能够让没有接触过这个知识点的学员把问题理解清楚,弄明白。唯一遗憾的是,spring这个课程安排的时间比较紧,只有两天,佟老师每天都讲到六七点才下课。基本上一天下来嘴都没停过,当然了我们的耳朵也没闲过。不管怎么说,对spring总算有初步的认识了。 Spring是一个开源框架,是为简化企业级应用开发
J2EE学习篇之--Spring技术详解
今天我们来看一下Spring的相关知识,我们知道Spring也是一个开源的框架,这个框架并不像是Struts一样,这个框架是可以用在Java的所有地方,所以,其实开发Android的时候我们也是可以使用这个框架的,所以这个框架比Struts适用性更广了。。 摘要 Spring是一个...
我在传智播客当分校长生涯的总结:参演了一部精彩的电影
如果把我在传智工作过去的5年比作一场电影的话。。。。。。总之,这部电影很精彩,观众的认可度高并且票房卓越。我作为这部电影中的一名演员,非常荣幸能在这5年时间里与大家一起演出了一幕幕精彩的瞬间,为能见证并参与传智这样一个优秀的公司成长壮大过程而感到自豪及骄傲。
650




被折叠的 条评论
为什么被折叠?



