zoukankan      html  css  js  c++  java
  • Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.10.2 元注解

    6.1.1 元注解

    Spring提供的许多注都可以在您自己的代码中用作元注。元注只是一个可以应用于另一个注的注。例如,上面提到的@Service是使用@Component进行元注的:

    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Component // Spring will see this and treat @Service in the same way as @Component
    public @interface Service {
    
        // ....
    }

    元注也可以进行组合来创建组合注。例如,Spring MVC@RestController注释由@Controller@ResponseBody组成。

    此外,组合注可以随意地从元注重新声明属性允许用户进行定制。当您只想暴露元注属性的子集时,这可能特别有用。 例如,以下是自定义@Scope,它将作用域名称硬编码session,但仍允许proxyMode的自定义。

    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Scope("session")
    public @interface SessionScope {
    
        ScopedProxyMode proxyMode() default ScopedProxyMode.DEFAULT;
    }
    然后可以使用@SessionScope而不声明proxyMode,如下所示:
    @Service
    @SessionScope
    public class SessionScopedUserService implements UserService {
        // ...
    }

    或者对于proxyMode使用重写值,如下所示:

    @Service
    @SessionScope(proxyMode = ScopedProxyMode.TARGET_CLASS)
    public class SessionScopedService {
        // ...
    }

    有关更多详细信息,请参阅Spring注解编程模型

  • 相关阅读:
    mysql只会使用到一个索引的原因
    SQL优化-三
    SQL优化-二
    SQL优化-一
    关于调和级数的证明
    SA 复习笔记
    点分治学习笔记
    FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅰ
    python3+selenium webdriver实战应用篇-打造爱奇艺直播间机器人
    Photoshop如何修改(半)透明像素的RGB值
  • 原文地址:https://www.cnblogs.com/springmorning/p/10432723.html
Copyright © 2011-2022 走看看