国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Solon2 常用注解之 @ProxyComponent 用法說(shuō)明

這篇具有很好參考價(jià)值的文章主要介紹了Solon2 常用注解之 @ProxyComponent 用法說(shuō)明。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在 Solon 提倡“克制”的原則下,托管組件分為:

  • 普通組件
  • 代理組件(即 @ProxyComponent 注解的類)。代理的細(xì)節(jié)可以看下《動(dòng)態(tài)代理的本質(zhì)》 。

之所以需要代理,是為了能攔截函數(shù);之所以需要攔截函數(shù),是為了讓函數(shù)上的注解生效。也算是 AOP 的基礎(chǔ)。(如果沒(méi)有攔截需求,改用 @Component)

如何使用 @ProxyComponent 注解?

1、從替代的角度、或語(yǔ)義的角度使用

原來(lái)使用 @Service、@Dao、@Repository 這三個(gè)注解的,或者有這三種語(yǔ)義的類,都用 “@ProxyComponent” 注解。這些類經(jīng)常會(huì)用到事務(wù)、或者緩存注解,就會(huì)需要函數(shù)攔截。使用示例:

@ProxyComponent
public class UserService{
    //...
}

@ProxyComponent
public class UserDao{
    //...
}

@ProxyComponent
public class UserRepository{
    //...
}

從團(tuán)隊(duì)執(zhí)行規(guī)范的管理角度,這個(gè)方式比較好,簡(jiǎn)單:語(yǔ)義對(duì)上,就用。

2、從技術(shù)的角度使用

如果一個(gè)類的函數(shù)上,使用了“用于攔截的注解”,則使用 “@ProxyComponent” ;如果沒(méi)有,則使用 “@Component”。比如:

//這個(gè)類,雖然也叫 Service,但是函數(shù)沒(méi)有使用“用于攔截的注解”就使用普通組件注解即可。
@Component
public class ToolService{
    public bool isEmpty(String str){
        return str=null || str.length()==0;
    }
}

//這個(gè)類,使用了“用于攔截的注解”,需要使用 "@ProxyComponent"(在函數(shù)上加注解,基本上都是攔截目的)
@ProxyComponent
public class UserService{
    @Tran
    public void addUser(UserDo user){
        //...
    }
}

從高性能與克制角度,這個(gè)方式好。但團(tuán)隊(duì)的話,因人員素質(zhì)差異,可能不好把控細(xì)節(jié)。

3、補(bǔ)充

為什么 “@Controller、@Remoting” 不是動(dòng)態(tài)代理類,也支持函數(shù)攔截?因?yàn)樗鼈兊?Method 被提取并包裝成了 MethodWrap。而,所有的函數(shù)攔截最終都是由 MethodWrap 執(zhí)行。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-418125.html

到了這里,關(guān)于Solon2 常用注解之 @ProxyComponent 用法說(shuō)明的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【JavaEE進(jìn)階】SpringMVC中的常用注解和用法

    【JavaEE進(jìn)階】SpringMVC中的常用注解和用法

    目錄 學(xué)習(xí)Spring MVC 建立連接 @RequestMapping 注解介紹 @RequestMapping 使用 傳參介紹 傳遞單個(gè)參數(shù) 傳遞多個(gè)參數(shù) 傳遞對(duì)象 后端參數(shù)重命名(后端參數(shù)映射)@RequestParam 非必傳參數(shù)設(shè)置 傳遞數(shù)組 傳遞集合 傳遞JSON數(shù)據(jù) 獲取URL中參數(shù)@PathVariable 上傳文件@RequestPart 獲取Cookie/Session 響應(yīng)

    2024年04月14日
    瀏覽(25)
  • springboot 集成 Swagger2 配置以及常用注解的說(shuō)明和使用 ( 超詳細(xì))

    springboot 集成 Swagger2 配置以及常用注解的說(shuō)明和使用 ( 超詳細(xì))

    一、注解的使用 和?說(shuō)明 結(jié)構(gòu)化說(shuō)明如下: @Api:用在請(qǐng)求的類上,表示對(duì)類的說(shuō)明? ? ? tags=\\\"說(shuō)明該類的作用,可以在UI界面上看到的注解\\\"?? ?(也就是給類取別名) ? ? value=\\\"該參數(shù)沒(méi)什么意義,在UI界面上也看到,所以不需要配置\\\" ?? @ApiOperation:用在請(qǐng)求的方法上,說(shuō)

    2024年02月03日
    瀏覽(28)
  • SpringBoot框架——8.MybatisPlus常見(jiàn)用法(常用注解+內(nèi)置方法+分頁(yè)查詢)

    SpringBoot框架——8.MybatisPlus常見(jiàn)用法(常用注解+內(nèi)置方法+分頁(yè)查詢)

    1.MybatisPlus常用注解: ? ? ? ? 1.1 當(dāng)數(shù)據(jù)庫(kù)、表名和字段名和實(shí)體類完全一致時(shí)無(wú)需加注解,不一致時(shí): ? ? ? ? @TableName指定庫(kù)名 ? ? ? ? @TableId指定表名 ? ? ? ? @TableField指定字段名 ? ? ? ? 1.2 自增主鍵: ????????@TableId(type=IdType.AUTO) ? ? ? ? private Long id; ? ? ? ?

    2024年04月26日
    瀏覽(19)
  • @Lazy注解使用說(shuō)明

    在Spring框架中,@Lazy注解是一個(gè)重要的注解,用于控制bean的延遲加載。本文將詳細(xì)介紹@Lazy注解的作用和使用場(chǎng)景,并提供示例以便更好地理解其用法。 作用 @Lazy注解主要用于控制Spring容器中的bean的加載時(shí)機(jī)。默認(rèn)情況下,Spring容器在啟動(dòng)時(shí)會(huì)初始化所有的bean,這可能會(huì)導(dǎo)

    2024年02月06日
    瀏覽(30)
  • Mybatis攔截器注解@Intercepts與@Signature注解屬性說(shuō)明

    可能有些新手使用mybatis攔截器的時(shí)候可能沒(méi)太懂@Signature注解中type,method,args的用法 首先mybatis攔截器可以攔截如下4中類型 Executor sql的內(nèi)部執(zhí)行器 ParameterHandler 攔截參數(shù)的處理 StatementHandler 攔截sql的構(gòu)建 ResultSetHandler 攔截結(jié)果的處理 type:就是指定攔截器類型(ParameterHandl

    2024年02月05日
    瀏覽(27)
  • Springboot @Validated注解詳細(xì)說(shuō)明

    Springboot @Validated注解詳細(xì)說(shuō)明

    在Spring Boot中,@Validated注解用于驗(yàn)證請(qǐng)求參數(shù)。它可以應(yīng)用在Controller類或方法上 1、引入依賴 2、參數(shù)說(shuō)明與使用示例 注解 驗(yàn)證的數(shù)據(jù)類型 描述 @NotNull 任意類型 驗(yàn)證屬性不能為null @NotBlank 字符串 驗(yàn)證字符串屬性不能為空且長(zhǎng)度必須大于0 @Size(min,max ) CharSequence Collection Map

    2024年02月14日
    瀏覽(22)
  • SpringMVC中@RequestMapping注解的詳細(xì)說(shuō)明

    @RequestMapping 是Spring MVC中一個(gè)用于映射HTTP請(qǐng)求和控制器方法之間關(guān)系的注解。它用于定義控制器方法如何響應(yīng)特定的HTTP請(qǐng)求,包括GET、POST、PUT、DELETE等。以下是 @RequestMapping 注解的詳細(xì)說(shuō)明: 基本用法: @RequestMapping 用于注解一個(gè)控制器方法,指定該方法應(yīng)該處理的請(qǐng)求路徑

    2024年02月07日
    瀏覽(16)
  • @SpringBootApplication注解說(shuō)明(InsCode AI 創(chuàng)作助手)

    @SpringBootApplication 是 Spring Boot 中的一個(gè)關(guān)鍵注解,用于標(biāo)識(shí)一個(gè)類是 Spring Boot 應(yīng)用程序的主應(yīng)用程序類。在這篇文章中,我們將詳細(xì)解釋 @SpringBootApplication 注解以及它在 Spring Boot 應(yīng)用程序中的作用。 @SpringBootApplication 注解是 Spring Boot 中的一個(gè)復(fù)合注解,它包含了以下三個(gè)重

    2024年02月07日
    瀏覽(38)
  • @Nullable 注解的詳細(xì)用法

    最近發(fā)現(xiàn)之前寫的代碼生成器(entity、dao、service、controller、vue) 有點(diǎn)bug,在Service層判斷空的時(shí)候,少了一部分條件。所以補(bǔ)充上了,隨后又同事問(wèn)我在代碼中發(fā)下了@Nullable注解不知道怎么用?腦子是個(gè)好東西,可以審核沒(méi)帶啊!哪有廣告? 起初,以為這么簡(jiǎn)單的一個(gè)常用

    2024年02月04日
    瀏覽(26)
  • 注解@RestControllerAdvice用法途

    @RestControllerAdvice 是一個(gè)組合注解,由 @ControllerAdvice 、 @ResponseBody 組成,而 @ControllerAdvice 繼承了@Component,因此 @RestControllerAdvice 本質(zhì)上是個(gè) Component ,用于定義 @ExceptionHandler , @InitBinder 和 @ModelAttribute 方法,適用于所有使用 @RequestMapping 方法。 通過(guò) @ControllerAdvice 注解可以將對(duì)

    2024年02月07日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包