日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AOP 还在配置吗改用打标签模式吧!

發布時間:2023/12/4 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AOP 还在配置吗改用打标签模式吧! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么我喜歡打標簽來配置AOP

1. 配置多很混亂,代碼里面很難分辨出來哪些是AOP容器(比如屬性注入)

2. 對于代碼生成器生成的代碼里面還需要手動加到配置里面

3. 連java spring現在都是清一色的注解來代替xml,這個就是趨勢所在

?

我基于Autofac開發了一個基于標簽來配置AOP的擴展

?

NUGET :Install-Package Autofac.Annotation

?

開源地址:

https://github.com/yuzd/Autofac.Annotation

幫忙點個star 謝謝!

?

特色

1.打個Bean標簽就能注入到AOP

2.打個Autowired標簽自動裝配注入

3.打個Value標簽自動注入配置值(Soure標簽配合使用)具體使用方法看下面的例子

4.支持攔截器

5.更多等你發現

?

如何使用

?

AutofacAnnotationModule有兩種構造方法

  • 可以傳一個Assebly列表 (這種方式會注冊傳入的Assebly里面打了標簽的類

  • 可以傳一個AsseblyName列表 (這種方式是先會根據AsseblyName查找Assebly 然后在注冊)

  • ?

    支持的標簽說明

    ?

    Bean標簽

    說明:只能打在class上面 把某個類注冊到autofac容器 例如:

    1.無構造方法的方式 等同于 builder.RegisterType();

    2.指定Scope [需要指定AutofacScope屬性 如果不指定為則默認為AutofacScope.InstancePerDependency]

    3.指定類型注冊 等同于 builder.RegisterType().As()

    4.指定名字注冊 等同于 builder.RegisterType().Keyed("a4")

    5.其他屬性說明

    • InjectProperties 是否默認裝配屬性 【默認為true】

    • InjectPropertyType 屬性自動裝配的類型

  • Autowired 【默認值】代表打了Autowired標簽的才會自動裝配

  • ALL 代表會裝配所有 等同于 builder.RegisterType().PropertiesAutowired()

    • AutoActivate 【默認為false】 如果為true代表autofac build完成后會自動創建 具體請參考?autofac官方文檔

    • Ownership 【默認為空】 具體請參考?autofac官方文檔

    • Interceptor 【默認為空】指定攔截器的Type

    • InterceptorType 攔截器類型 攔截器必須實現 Castle.DynamicProxy的 IInterceptor 接口, 有以下兩種

  • Interface 【默認值】代表是接口型

  • Class 代表是class類型 這種的話是需要將要攔截的方法標virtual

    • InterceptorKey 如果同一個類型的攔截器有多個 可以指定Key

    • InitMethod 當實例被創建后執行的方法名稱 類似Spring的init-method 可以是有參數(只能1個參數類型是IComponentContext)和無參數的方法

    • DestroyMetnod 當實例被Release時執行的方法 類似Spring的destroy-method 必須是無參數的方法

    Autowired 自動裝配

    可以打在Field Property 構造方法的Parameter上面 其中Field 和 Property 支持在父類

    Value 和 PropertySource

    ?

    PropertySource類似Spring里面的PropertySource 可以指定數據源 支持 xml json格式 支持內嵌資源

    1.json格式的文件

    2. xml格式的文件

    3.不指定PropertySource的話會默認從工程目錄的 appsettings.json獲取值


    原文地址:https://www.cnblogs.com/yudongdong/p/10285392.html


    .NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com



    總結

    以上是生活随笔為你收集整理的AOP 还在配置吗改用打标签模式吧!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。