老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Spring.NetAOP實例-創新互聯

Spring.Net和Log4net、NUnit、NHibernate一樣,也是先從Java中流行開來,然后移植到了.NET當中,形成了.NET版的Spring框架。其官方網站為:http://www.springframework.net/index.html。

成都創新互聯公司是一家集網站建設,延平企業網站建設,延平品牌網站建設,網站定制,延平網站建設報價,網絡營銷,網絡優化,延平網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

首先看一下Spring.Net的架構圖:

Spring.Net AOP實例

根據架構圖可以看到,它的底層核心是Spring Core,上層是AOP層。其它的什么NHibernate、ES、WCF都基于這兩個底層。

看了這個架構圖只是了解了Spring框架所提供的功能,那么Spring.Net究竟是什么呢?它對我們開發來說究竟有什么樣的幫助呢?

簡單來說,Spring.Net是一個關注.NET企業應用開發的應用程序框架。它的核心思想是AOP(面向切面編程或者叫面向方面編程),與面向對象不同,它關注的是程序的“切面”,即橫向的內容(比如日志、驗證等通用型的功能)。隨著軟件系統規模的不斷升級,復雜程度越來越高,面向對象就有了它的弊端,這時候引入AOP就能有效的解決問題。從系統中分離出來方面,然后集中實現。從而可以獨立編寫業務邏輯代碼和方面代碼,在系統運行的時候,再將方面代碼“織入”到系統中,使得系統的功能得以擴展。

提到Spring.Net除了想到AOP之外,還有一個就是IOC(控制反轉)或者DI(依賴注入)。主要意思就是明確的定義組件接口,獨立的開發各個組件,然后通過組件之間的依賴關系進行組裝,進而成為一個完整的系統。

好了,我從來不喜歡講太多的理論,我喜歡用一些小例子讓大家快速的上手這個技術。由于Spring.Net是個相對比較龐大的內容,因此下面就介紹一下具體使用Spring.Net實現AOP的過程。

首先先下載Spring.Net。這個可以在官方鏈接中找到或者百度下一個。目前最新的版本號為1.3.2,建議讀者下載最新版本。

如果你下的是zip包,可以直接解壓縮。如果是msi安裝包,則你可以選擇路徑進行安裝。里面有Spring.Net的核心dll文件、doc文檔和一些例子。由于Spring.Net是開源的,因此你還會看到有項目的源代碼在里面,對底層源碼感興趣的讀者也可以拿出來學習使用。

一、建立一個類庫項目BIZ

BIZ是一個業務邏輯處理模塊,首先定義一個業務接口以及其實現類:

namespace BIZ.Commands
{
    public interface IStudentService
    {
        void GoToSchool(string studentName, string className);
    }
}
namespace BIZ.Commands
{
    public class StudentService : IStudentService
    {
        public void GoToSchool(string studentName, string className)
        {
            Console.WriteLine("計算機({1})班的{0}同學去上學了。。。", studentName, className);
        }
    }
}

這里我模擬一下任務,就是一個學生去上學的業務邏輯處理。

接下來,在這個項目中建立一個LogBeforeAdvice類并實現IMethodBeforeAdvice接口。這里面需要添加引用Spring.Net的一些dll文件,比如Spring.Core、Spring.Aop等,這些都可以在Spring.Net目錄中找到。

namespace BIZ.Aspects
{
    public class LogBeforeAdvice : IMethodBeforeAdvice
    {
        public void Before(System.Reflection.MethodInfo method, object[] args, object target)
        {
            Console.WriteLine("攔截的方法名—>" + method.Name);
            Console.WriteLine("目標—>" + target);
            Console.WriteLine("參數—>");
            if (args != null)
            {
                foreach (object arg in args)
                {
                    Console.WriteLine("\t: " + arg);
                }
            }
        }
    }
}

這里需要說明一下,這里實現的接口叫“前置通知”,除此之外還有“后置通知”、“環繞通知”、“異常通知”等共四種類型的通知。

前置通知是在方法執行前自動執行的通知;后置通知是在方法執行后自動執行的通知;環繞通知可以在方法調用前執行通知代碼,可以決定是否還調用目標方法;異常通知是方法拋出異常時自動執行的方面代碼。(注:其它三種通知可以自行添加實現,這里只演示前置通知。)

二、建立一個控制臺應用程序SpringNetAop

在App.config(新版本的VS都能夠自動生成這個文件,如果沒有自動新建一個)中,添加Spring.Net的相關配置:



  
    
      
AOP例子 beforeAdvice

這里面就是核心的配置內容。通過config文件裝配需要注入的對象并織入到StudentService這個業務邏輯類中,這樣就完成了組裝。

然后在Program.cs中寫入如下代碼:

namespace SpringNetAop
{
    class Program
    {
        static void Main(string[] args)
        {
            IApplicationContext context = ContextRegistry.GetContext();
            IStudentService command = (IStudentService)context["myStudentService"];
            command.GoToSchool("guwei4037", "一");
        }
    }
}

同樣的也需要引用Spring.Core和Spring.Aop的dll文件。

好,運行一下控制臺程序。

Spring.Net AOP實例

可以看到,在我調用上學的方法時,先執行了方面代碼里的內容。

通過這個例子,我們認識到Spring.Net可以根據需要動態的裝配組件,并可以在執行某個方面代碼前自動執行我們所要的操作。可以想象,這個功能完全可以使用在我們對業務操作進行日志記錄的場合,在調用方法時還是去上學,但是通過前置通知我們增加了日志記錄功能。

好了,關于Spring.Net的AOP部分就講解到這里,這里只是簡單講解了一小部分的Spring.Net的內容,主要目的是讓大家對Spring.Net有個基本的認識。如果需要更多詳細的資料,可以查看相關文檔資料:http://www.springframework.net/documentation.html。

創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。


分享題目:Spring.NetAOP實例-創新互聯
網站URL:http://www.xueling.net.cn/article/cejiih.html 主站蜘蛛池模板: 中国精品一区二区三区 | 国产大片B站免费观看推荐 97夜夜模夜夜爽夜夜喊 | 国产一区二区日韩精品 | 日韩四虎| 大地资源色婷婷视频在线 | 国产精品网站在线免费观看 | 蜜乳av一区二区三区 | 久草久在线 | 欧美精品一区二区三区久久久 | 日本一区二区高清不卡 | 欧美小视频在线观看 | 国产高清一级 | 香港经典A毛片免费观看特级 | 中文字幕视频在线免费 | 久草网址 | 99爱这里只有精品 | 日日操夜夜操影院 | 久久久久亚洲av成人网人人软件 | 国产成人AV片免费 | 亚洲精品无码久久久久久 | 一区二区不卡在线视频 | 91porny九色白浆 | 久久综合精品国产一区二区三区 | 99久久久久成人国产免费 | 亚洲AV无码成人YELLOW | 国产精品人妻无码一区二区三区 | 国产成人亚洲综合色影视 | 曰本一区二区 | 少妇性L交大片 | 第一福利在线导航 | 又嫩又硬又黄又爽的视频 | 日本男人日女人视频 | 女女同性一区二区三区免费观看 | 强壮的公次次弄得我高潮a片日本 | 亚洲色无码一区二区三区 | 浪货跪下给我好好含着羞辱调教 | 国产一区二区高清视频 | 欧美亚洲精品一区二区在线观看 | 精品视频一区二区三区中文字幕 | 日日夜夜网站 | 亚洲国产av无码精品果冻传媒 |