为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Spring入门篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Spring入门篇

moocer JAVA开发工程师
难度中级
时长 7小时 0分
  • Introduction advice
    查看全部
  • Interception around advice public class MoocMethodInterceptor implements MethodInterceptor { @Override public Object invoke(MethodInvocation arg0) throws Throwable { System.out.println("MoocMethodInterceptor 1: "+arg0.getClass().getName() +arg0.getStaticPart().getClass().getName()); Object obj=arg0.proceed(); System.out.println("MoocMethodInterceptor 2: "+obj); return obj; } }
    查看全部
  • After Retruning advice public class MoocAfterReturningAdvice implements AfterReturningAdvice { @Override public void afterReturning(Object arg0, Method arg1, Object[] arg2, Object arg3) throws Throwable { System.out.println("AfterReturningAdvice "+ arg1.getName()+" "+arg3.getClass().getName()+" "+arg0); } }
    查看全部
  • Throws advice public class MoocThrowsAdvice implements ThrowsAdvice { public void afterThrowing(Exception ex){ System.out.println("ThrowsAdvice afterThrowing 1"); } public void afterThrowing(Method method,Object[] arg, Object target, Exception ex){ System.out.println("ThrowsAdvice afterThrowing 2"+" "+method.getName()+" "+target.getClass().getName()); } }
    查看全部
  • Throws advice简介
    查看全部
  • Before advice public class MoocBeforeAdvice implements MethodBeforeAdvice { @Override public void before(Method arg0, Object[] arg1, Object arg2) throws Throwable { System.out.println("BeforeAdvice "+arg0.getName()+" "+arg2.getClass().getName()); }
    查看全部
  • Pointcut 1.实现之一:NameMatchMethodPointcut,根据方法名进行匹配 2.成员变量:mappedNames,匹配方法名集合
    查看全部
  • 5-7例子;6-1;6-2;6-3;
    查看全部
  • Schema-based AOP的xml配置代码如下: <bean id="moocAspect" class="com.imooc.aspect.MoocAspect" ></bean> <bean id="aspectBiz" class="com.imooc.aspect.AspectBiz"></bean> <aop:config> <aop:aspect id="moocAspectAOP" ref="moocAspect"> <aop:pointcut expression="execution(* com.imooc.aspect.AspectBiz.*(..))" id="moocPointCut"/> <aop:before method="before" pointcut-ref="moocPointCut"/> <aop:after-returning method="afterReturning" pointcut-ref="moocPointCut"/> <aop:after-throwing method="afterThrowing" pointcut-ref="moocPointCut"/> <aop:after method="after" pointcut-ref="moocPointCut"/> <aop:around method="around" pointcut-ref="moocPointCut"/> <aop:around method="aroundInit" pointcut="execution(* com.imooc.aspect.AspectBiz.init(String,int)) and args(bizName,times)"/> <aop:declare-parents types-matching="com.imooc.aspect.*(..))" implement-interface="com.imooc.aspect.Fit" default-impl="com.imooc.aspect.FitImpl"/> </aop:aspect> </aop:config>
    查看全部
    0 采集 收起 来源:Advisors

    2018-03-22

  • 四、Schema-based AOP Spring所有的切面和通知器都必须放在一个<aop:config>内 (可以配置多个<aop:config>元素),每一个<aop:config>可以包含pointcut,advisor和aspect元素(必须按照这个顺序来声明) 1.切面-- aspect 2.切入点 -- pointcut(详细表达式可参看官方文档) 3.通知 -- advice: Before, After returning, After throwing, After(finally), Around, Advice parameters 4.引入 -- introduction 允许一个切面声明一个实现指定接口的通知对象,并且提供了一个接口实现类来代表这些对象 由<aop:declare-parents>元素声明该元素用于声明所匹配的类型拥有一个新的parent 5.Advisors advisor就像一个小的自包含的方面,只有一个advice Spring通过配置文件中<aop:advisor>元素支持advisor实际使用
    查看全部
    0 采集 收起 来源:Advisors

    2018-03-22

  • 专题三 AOP 一、什么是AOP及实现方式 1.什么是AOP ·AOP:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 ·主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。 2.对切面的理解 程序中的每一个模块或者说功能,任何一个模块中都要记录它的日志、事务、安全验证等等,给我们带来的工作量非常大。 当程序到达某种规模时,尤其是格式调整之类的,这种改动量是非常大的。如果通过切面方式,对开发人员是不可见的,默认地会对每一个子模块记录日志等这些工作。通过预编译或者动态代理的方式来执行这个功能, 对开发人员是透明,他不需要知道。 切面是和功能垂直的,也就是切面是横切与各个功能之上的 3.AOP实现方式 ①预编译-AspectJ ②运行期动态代理(JDK动态代理、CGLib动态代理)- SpringAOP、JbossAOP 二、AOP基本概念 ①切面---一个关注点的模块化,这个关注点可能会横切多个对象 ②连接点--程序执行过程中的某个特定的点 ③通知----在切面的某个特定的连接点上执行的动作 ④切入点--匹配连接点的断言,在AOP中通知和一个切入点表达式关联 ⑤引入----在不修改类代码的前提下,为类添加新的方法和属性 ⑥目标对象-被一个或者多个切面所通知的对象 ⑦AOP代理--AOP框架创建的对象,用来实现切面契约(包括通知方法执行等功能) ⑧织入---把切面连接到其他的应用程序类型或者对象上,并且创建一个被通知的对象,分为:编译时织入,执行时织入 三、Spring的AOP实现 ·纯java实现,无需特殊的编译过程,不需要控制类加载器层次 ·目前只支持方法执行连接点(通知Spring Bean的方法执行) ·不是为了提供最完整的AOP实现(尽管它非常强大);而是侧重于提供一种AOP实现和Spring IOC容器之间的整合,用于帮助解决企业应用中的常见问题 ·Spring AOP不会与AspectJ竞争,从而提供综合全面的AOP解决方案。 有接口和无接口的Spring AOP实现区别 ·Spring AOP默认使用标准的JavaSE动态代理作为AOP代理,使得任何接口(或者接口集)都可以被代理 ·Spring AOP中也可以使用CGLIB代理(如果一个业务对象并没有实现一个接口)
    查看全部
    0 采集 收起 来源:Advisors

    2017-01-22

  • ~~~~
    查看全部
  • AOP基本概念
    查看全部
  • 专题三 AOP 一、什么是AOP及实现方式 1.什么是AOP ·AOP:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 ·主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。 2.对切面的理解 程序中的每一个模块或者说功能,任何一个模块中都要记录它的日志、事务、安全验证等等,给我们带来的工作量非常大。 当程序到达某种规模时,尤其是格式调整之类的,这种改动量是非常大的。如果通过切面方式,对开发人员是不可见的,默认地会对每一个子模块记录日志等这些工作。通过预编译或者动态代理的方式来执行这个功能, 对开发人员是透明,他不需要知道。 切面是和功能垂直的,也就是切面是横切与各个功能之上的 3.AOP实现方式 ①预编译-AspectJ ②运行期动态代理(JDK动态代理、CGLib动态代理)- SpringAOP、JbossAOP 二、AOP基本概念 ①切面---一个关注点的模块化,这个关注点可能会横切多个对象 ②连接点--程序执行过程中的某个特定的点 ③通知----在切面的某个特定的连接点上执行的动作 ④切入点--匹配连接点的断言,在AOP中通知和一个切入点表达式关联 ⑤引入----在不修改类代码的前提下,为类添加新的方法和属性 ⑥目标对象-被一个或者多个切面所通知的对象 ⑦AOP代理--AOP框架创建的对象,用来实现切面契约(包括通知方法执行等功能) ⑧织入---把切面连接到其他的应用程序类型或者对象上,并且创建一个被通知的对象,分为:编译时织入,执行时织入 三、Spring的AOP实现 ·纯java实现,无需特殊的编译过程·,不需要控制类加载器层次 ·目前只支持方法执行连接点(通知Spring Bean的方法执行) ·不是为了提供最完整的AOP实现(尽管它非常强大);而是侧重于提供一种AOP实现和Spring IOC容器之间的整合,用于帮助解决企业应用中的常见问题 ·Spring AOP不会与AspectJ竞争,从而提供综合全面的AOP解决方案。 有接口和无接口的Spring AOP实现区别 ·Spring AOP默认使用标准的JavaSE动态代理作为AOP代理,使得任何接口(或者接口集)都可以被代理 ·Spring AOP中也可以使用CGLIB代理(如果一个业务对象并没有实现一个接口)
    查看全部
  • AOP小结
    查看全部
    0 采集 收起 来源:Advisors

    2017-01-22

举报

0/150
提交
取消
课程须知
Java的高级课程,适合对Java基础知识应用自如,并熟悉MVC架构的小伙伴们。如果想成为一名Java工程师,这门课程是一定要学哒。
老师告诉你能学到什么?
掌握依赖注入、IOC和AOP的概念,并能进行简单应用。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!