1、概述

    1.1、Spring提供了大量的注解,

        尤其是相同的注解用到各个类中,会相当的啰嗦;

    1.2、元注解:

        可以注解到别的注解上的注解;

      组合注解:

        被注解注解的注解称为 组合注解;

        组合注解  具备 元注解  的功能,Spring的很多注解都可以作为元注解;

    1.3、案例

  1. package com.an.config;
  2.  
  3. import com.an.annotation.MyAnnotation;
  4.  
  5. /**
  6. * @description:
  7. * @author: anpeiyong
  8. * @date: Created in 2019/11/21 8:57
  9. * @since:
  10. */
  11. @MyAnnotation(value = "com.an")
  12. public class AnnotationConfig {
  13. }

  

  1. package com.an.annotation;
  2.  
  3. import org.springframework.context.annotation.ComponentScan;
  4. import org.springframework.context.annotation.Configuration;
  5. import java.lang.annotation.ElementType;
  6. import java.lang.annotation.Retention;
  7. import java.lang.annotation.RetentionPolicy;
  8. import java.lang.annotation.Target;
  9.  
  10. /**
  11. * @description:
  12. * @author: anpeiyong
  13. * @date: Created in 2019/11/21 8:47
  14. * @since:
  15. */
  16. @Target(value = ElementType.TYPE)
  17. @Retention(RetentionPolicy.RUNTIME)
  18. @Configuration
  19. @ComponentScan
  20. public @interface MyAnnotation {
  21.  
  22. String[] value() default {};
  23.  
  24. }

  

  1. package com.an.annotation;
  2.  
  3. import org.springframework.stereotype.Service;
  4.  
  5. /**
  6. * @description:
  7. * @author: anpeiyong
  8. * @date: Created in 2019/11/21 8:54
  9. * @since:
  10. */
  11. @Service
  12. public class AnnotationService {
  13.  
  14. public void output(){
  15. System.out.println("组合注解成功。。。");
  16. }
  17. }

  

  1. package com.an.main;
  2.  
  3. import com.an.annotation.AnnotationService;
  4. import com.an.config.AnnotationConfig;
  5. import org.springframework.context.annotation.AnnotationConfigApplicationContext;
  6.  
  7. /**
  8. * @description:
  9. * @author: anpeiyong
  10. * @date: Created in 2019/11/21 8:57
  11. * @since:
  12. */
  13. public class AnnotationMainTest {
  14.  
  15. public static void main(String[] args) {
  16. AnnotationConfigApplicationContext annotationConfigApplicationContext=new AnnotationConfigApplicationContext(AnnotationConfig.class);
  17. AnnotationService annotationService=annotationConfigApplicationContext.getBean(AnnotationService.class);
  18. annotationService.output();
  19. annotationConfigApplicationContext.close();
  20. }
  21. }
  22.  
  23. 结果:
  24. 组合注解成功。。。

  

Spring----组合注解与元注解的更多相关文章

  1. Spring Boot实战笔记(九)-- Spring高级话题(组合注解与元注解)

    一.组合注解与元注解 从Spring 2开始,为了响应JDK 1.5推出的注解功能,Spring开始大量加入注解来替代xml配置.Spring的注解主要用来配置注入Bean,切面相关配置(@Trans ...

  2. Spring组合注解与元注解

    目录 注解说明 源代码 使用范例 注解说明 元注解:可以注解到别的注解上的注解,所以元注解首先基于条件@Target({ElementType.TYPE}) ,目标使用在类文件上 . 组合注解:连个元 ...

  3. [读书笔记] 二、条件注解@Conditional,组合注解,元注解

    一.条件注解@Conditional,组合注解,元注解 1. @Conditional:满足特定条件创建一个Bean,SpringBoot就是利用这个特性进行自动配置的. 例子: 首先,两个Condi ...

  4. 曹工说Spring Boot源码(23)-- ASM又立功了,Spring原来是这么递归获取注解的元注解的

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...

  5. spring boot: 组合注解与元注解

    package ch2.annotation; //target/elementType用来设定注解的使用范围 import java.lang.annotation.ElementType; imp ...

  6. JavaEE开发之Spring中的条件注解组合注解与元注解

    上篇博客我们详细的聊了<JavaEE开发之Spring中的多线程编程以及任务定时器详解>,本篇博客我们就来聊聊条件注解@Conditional以及组合条件.条件注解说简单点就是根据特定的条 ...

  7. JavaEE开发之Spring中的条件注解、组合注解与元注解

    上篇博客我们详细的聊了<JavaEE开发之Spring中的多线程编程以及任务定时器详解>,本篇博客我们就来聊聊条件注解@Conditional以及组合条件.条件注解说简单点就是根据特定的条 ...

  8. java内置注解、元注解和自定义注解

    注解的作用: 1.生成文档 2.跟踪代码依赖性 3.编译时进行格式检查 ---------------------------------------------------------------- ...

  9. spring源码解析:元注解功能的实现

    前言 众所周知,spring 从 2.5 版本以后开始支持使用注解代替繁琐的 xml 配置,到了 springboot 更是全面拥抱了注解式配置.平时在使用的时候,点开一些常见的等注解,会发现往往在一 ...

随机推荐

  1. Windows环境下使用Mycat模拟分库分表-读写分离案例

    一.基本环境 W7 64位.Mycat1.6.MySQL8.0 二.Mycat核心配置文件配置 解压Mycat1.6,并对server.xml.schema.xml.rule.xml三个核心配置文件做 ...

  2. 在成为测试大牛的路上,我推荐BestTest

    BestTest-Python自动化测试9月份班开始招生啦! 网络+现场同步进行,课程新升级,web自动化+接口自动化双管齐下,一线互联网测试开发工程师带你在自动化的世界里自由翱翔! 推荐优惠多多,欢 ...

  3. ubuntu python3相关

    安装pip3 sudo apt install python3-pipsudo apt-get install python3-virtualenv sudo pip3 install virtual ...

  4. SPOJ AEROLITE

    题目链接: http://www.spoj.com/problems/AEROLITE/en/ ---------------------------------------------------- ...

  5. EZOJ #373排序

    分析 它居然真的是个nlog^3暴力?! 两个数在加小于min(lowbit(x),lowbit(y))的数时对他们的奇偶性不影响 因此每次加上min(lowbit(x),lowbit(y))判断此时 ...

  6. hbase报Dead Region Servers

    问题描述: 16010端口启动成功,16020未启动. hbase-root-regionserver-hbase2.log日志: 2019-08-14 16:45:10,552 WARN [Thre ...

  7. 02 - Jmeter4.x正则表达式以及跨线程使用变量

    话不多说 直接开撸 上图可以看出,有两个请求,其中第二个请求返回了登录超时,结合第一个登录接口来看,这个是需要header请求内容的也就是 token:当然设置一个token又怎么可能难得倒我们,无非 ...

  8. find命令之正则表达式

    find -regex '.*_\(OK\|NG\).csv'|sort // 特殊字符需要进行转义 for file in `find -regex '.*_\(OK\|NG\).csv'|sort ...

  9. Codeforces 1093D(染色+组合数学)

    题面 传送门 题目大意:给出一个无向图,每个节点可以填1,2,3三个数中的一个 问有多少种填数方案,使两个相邻节点的数之和为奇数 分析 如果图中有奇环,一定无解 我们对图黑白染色,由于图可能不联通,记 ...

  10. 14、numpy——统计函数

    NumPy 统计函数 NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等. 函数说明如下:(沿哪条轴执行,就是是最后结果的形式) 1.numpy.amin() 和 ...