zoukankan      html  css  js  c++  java
  • AOP编程实践之AspectWeaverSample1.0


    [More about Teddy's Aspect Weaver]

    [More about AOP]

    本范例基于Teddy’s Aspect Weaver Version 0.6,演示一个简单的AOP应用范例,范例中的具体Sample Aspect有:

    1. SecurityAspect: Add additional security checking before Account.Login.
    2. MethodSelfIntroduceAspect: Each method’s self-introduction – show each calling methods’ context info and argument lists.
    3. LogAllWriteOperationAspect: Log all writing operations called positions.
    4. DebugBookConstructorCall: Log after Book’s Constructors’ calling.

    未织入前的运行结果

    Begin an order handle process...


    The order handle process is finished.


    Begin an book update process...


    The book update process is finished.

    织入后的运行结果

    Calling method: System.Void SampleApp.Logic.Sample::OrderHandleSample()

    Begin an order handle process...

    Checked addtional security for account login ok!
    Calling method: System.Boolean SampleApp.Logic.Account::Login(System.String,System.String)
    Arguments: name, pa$$word
    Constructor of Book has been called at 'System.Void SampleApp.Logic.Book::.ctor()'
    Calling method: System.Void SampleApp.Logic.Book::LoadBook(System.Int32)
    Arguments: 2
    Constructor of Book has been called at 'System.Void SampleApp.Logic.Book::.ctor()'
    Calling method: System.Void SampleApp.Logic.Book::LoadBook(System.Int32)
    Arguments: 1
    Constructor of Book has been called at 'System.Void SampleApp.Logic.Book::.ctor(System.Int32)'
    calling a write method at 'System.Void SampleApp.Logic.Sample::OrderHandleSample()'
    Calling method: System.Void SampleApp.Logic.Order::HandleOrder()

    The order handle process is finished.

    Calling method: System.Void SampleApp.Logic.Sample::BookUpdateSample()

    Begin an book update process...

    Checked addtional security for account login ok!
    Calling method: System.Boolean SampleApp.Logic.Account::Login(System.String,System.String)
    Arguments: name, pa$$word
    Constructor of Book has been called at 'System.Void SampleApp.Logic.Book::.ctor()'
    Calling method: System.Void SampleApp.Logic.Book::LoadBook(System.Int32)
    Arguments: 1

    Constructor of Book has been called at 'System.Void SampleApp.Logic.Book::.ctor(System.Int32)'
    Calling method: System.Void SampleApp.Logic.Book::set_BookName(System.String)
    Arguments: updated book name
    calling a write method at 'System.Void SampleApp.Logic.Sample::BookUpdateSample()'
    Calling method: System.Void SampleApp.Logic.Book::UpdateBook()

    The book update process is finished.

    范例源码下载

    AspectWeaverSample1.0.zip

  • 相关阅读:
    启用oracle 11g自己主动收集统计信息
    在java中,怎样跳出当前的多重循环?
    从编程的角度理解gradle脚本﹘﹘Android Studio脚本构建和编程[魅族Degao]
    【SpringMVC架构】SpringMVC入门实例,解析工作原理(二)
    实现icon和文字垂直居中的两种方法-(vertical-align and line-height)
    android发送get请求时报错
    KeyEvent 键码值
    Android-黑科技-微信抢红包必备软件
    Delicious Apples (hdu 5303 贪心+枚举)
    vim 插件配置博客记录
  • 原文地址:https://www.cnblogs.com/teddyma/p/249039.html
Copyright © 2011-2022 走看看