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

Spring入门篇

moocer JAVA开发工程师
难度中级
时长 7小时 0分
  • .如果ProxyFactoryBean的proxyInterfaces属性没有被被设置,但是目标实现了一个(或者更多)接口,那么ProxyFactoryBean将自动检测这个目标类已经实行了至少一个接口,创建一个基于JDK的代理。
    查看全部
  • ProxyFactoryBean .如果ProxyFactoryBean的proxyInterfaces属性没有被被设置,但是目标实现了一个(或者更多)接口,那么ProxyFactoryBean将自动检测这个目标类已经实行了至少一个接口,创建一个基于JDK的代理。
    查看全部
  • Spring框架中AOP的用途. OOP是面向对象,一切都是对象. AOP是面向切面.
    查看全部
  • ProxyFactoryBean<br> .使用ProxyFactoryBean或者其他IoC相关类来创建AOP代理的最重要的好处是通知和切入点也可以由IoC来管理<br> .被代理的类没有任何接口,使用CGLIB代理,否则JDK代理<br> .通过proxyTargetClass为true,可强制使用CGLIB <br> .如果目标类实现了一个(或者多个)接口,那么创建代理的类型将依赖ProxyFactoryBean的配置<br> .如果ProxyFactoryBean的proxyInterfaces属性被设置为一个或者多个全限定接口名,基于JDK的代理将被创建.
    查看全部
  • 通知(Advice)类型: 前通知(before advice):是指在连接点执行之前,先执行通知中的代码. 后通知(after advice):是指在连接点执行后,再执行通知中的代码(不论是正常返回还是异常退出). 后通知一般分为: 连接点正常返回通知(After returning advice). 连接点异常返回通知(After throwing advice). 环绕通知(around advice):是一种功能强大的通知,可以自由地改变程序的流程,连接点返回值等.在环绕通知中除了可以自由添加需要的横切功能以外,还需要负责主动调用连接点,通过proceed()方法类执行激活连接点的程序.
    查看全部
  • ProxyFactoryBean 通过getObject方法将创建一个AOP代理包装一个目标对象
    查看全部
  • ProxyFactoryBean .创建Spring AOP代理的基本方法是使用org.springframework.aop.framework.ProxyFactoryBean .这完全可以控制切入点和通知(advice)以及他们的顺序
    查看全部
  • 通知/增强(Advice):在切面的某个特定的连接点上执行的动作. 通知分为: 前通知(before advice):是指在连接点执行之前,先执行通知中的代码. 后通知(after advice):是指在连接点执行后,再执行通知中的代码(不论是正常返回还是异常退出). 后通知一般分为: 连接点正常返回通知(After returning advice). 连接点异常返回通知(After throwing advice). 环绕通知(around advice):是一种功能强大的通知,可以自由地改变程序的流程,连接点返回值等.在环绕通知中除了可以自由添加需要的横切功能以外,还需要负责主动调用连接点,通过proceed()方法类执行激活连接点的程序. 切入点(Pontcut):匹配连接点的断言,在AOP中通知和一个切入点表达式关联,即如何在切面中去匹配具体的连接点. 切入点指一个或多个连接点,可以理解成一个点的集合,切入点的描述比较具体.一般会跟连接点上下文环境结合. 引入(Introduction):在不修改类代码的前提下,为类添加新的方法和属性.引入依赖于AspecJ或运行期动态代理方式,由于使用方式的不同,对于引用如何为类添加新的方法和属性的具体实现方式也有点区别. 目标对象(Target Object):被一个或者多个切面所通知的对象. 即有一个银行的实体类,它需要日志记录与验证用户两个切面,这两个切面会以通知(Advice)的形式在执行银行某些功能方法的前后去执行某些额外的业务逻辑方法,银行实体类的实例就是目标对象. AOP代理(AOP Proxy):AOP框架创建的对象,用来实现切面契约,包括通知方法执行等功能. 织入(Weaving):把切面连接到其他的应用程序类型或者对象上,并创建一个被通知的对象,分为:编译时织入、类加载时织入(ClassLoader加载class的时候)、执行时织入(Runtime的时候). 编译就是把高级语言变成计算机可以识别的二进制语言
    查看全部
  • 切面(Aspect):一个关注点的模块化,这个关注点可能会横切多个对象,像日志记录、验证用户就是一个切面. 连接点(Joinpoint):程序执行过程中的某个特定的点.如一个方法、属性、一条语句、对象加载和构造方法都可以作为连接点. AspecJ中的连接点主要有以下几种形式. 1.方法调用(Method Call)——方法被调用时 2.方法执行(Method execution)——方法体的内容执行时 3.构造函数调用(Constructor call)——构造方法被调用时 4.静态初始化部分执行(Static initializer execution)——类中的静态部分内容初始化时 5.对象预初始化(Object pre-initialization)——主要是指执行构造函数中的this()及super()时 6.对象初始化(Object initialization)——在初始化一个类时 7.属性引用(Field reference)——引用属性值时 8.异常执行(Handler execution)——异常执行时 9.通知执行(Advice execution)——当一个AOP通知执行时 连接点的表示使用系统提供的关键字来表达,用call来表示方法调用连接点,用execution来表示方法执行连接点.连接点不会当独存在,需要与一定的上下文结合. 拦截器(Interceptor):拦截器用来实现对连接点进行拦截,从而在连接点前或后加入自动义的切面模块功能.在大多数JAVA的AOP框架实现中,都是使用拦截器来实现字段访问及方法调用的拦截.作用于同一个连接点的多个拦截器组成一个拦截器链(interceptor chain),链上的每个拦截器通常会调用下一个拦截器,Spring AOP及JBoos AOP实现都是采用拦截器来实现的.
    查看全部
  • Advisor API in Spring .Advisor是仅包含一个切入点表达式关联的单个通知的方面 .处理introductions,advisor可以用于任何通知 .org.springframework.aop.support.DefaultIntroductionAdvisor是最常用的advisor类,它可以与MethodInceptor,BeforeAdvice或者ThrowsAdvice一起使用 .它可以混合在Spring同一个AOP代理的advisor和advice
    查看全部
  • Introduction advice .introduction advice比较简单,持有独立的LockMixin实例 public class LockMixinAdvisor extends DefaultIntroductionAdvisor { public LockMixinAdvisor() { super(new LockMixin(), Lockable.class); } }
    查看全部
  • Introduction advice .Introduction advisor比较简单,持有独立的LockMixin实例 public class LockMixinAdvisor extends DefaultIntroductionAdvisor { public LockMixinAdvisor() { super(new LockMixin(), Lockable.class); } }
    查看全部
  • Introduction advice public class LockMixin extends DelegatingIntroductionInterceptor implements Lockable { private boolean locked; public void lock() { this.locked = true; } public void unlock() { this.locked = false; } public boolean locked() { return this.locked; } public Object invoke(MethodInvocation invocation) throws Throwable { if (locked() && invocation.getMethod().getName().indexOf("set") == 0) { throw new LockedException(); } return super.invoke(invocation); } }
    查看全部
  • pointcut表达式
    查看全部
  • pointcut表达式:
    查看全部

举报

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

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