通过实例解析Spring组合注解与元注解

 更新时间:2019年11月21日 10:48:04   作者:anpeiyong  
这篇文章主要介绍了通过实例解析Spring组合注解与元注解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了通过实例解析Spring组合注解与元注解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、概述

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

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

1.2、元注解:

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

组合注解:

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

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

1.3、案例

package com.an.config;
 
import com.an.annotation.MyAnnotation;
 
/**
 * @description:
 * @author: anpeiyong
 * @date: Created in 2019/11/21 8:57
 * @since:
 */
@MyAnnotation(value = "com.an")
public class AnnotationConfig {
}
package com.an.annotation;
 
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
 
/**
 * @description:
 * @author: anpeiyong
 * @date: Created in 2019/11/21 8:47
 * @since:
 */
@Target(value = ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Configuration
@ComponentScan
public @interface MyAnnotation {
  String[] value() default {};
}
package com.an.annotation;
 
import org.springframework.stereotype.Service;
 
/**
 * @description:
 * @author: anpeiyong
 * @date: Created in 2019/11/21 8:54
 * @since:
 */
@Service
public class AnnotationService {
 
  public void output(){
    System.out.println("组合注解成功。。。");
  }
}
package com.an.main;
 
import com.an.annotation.AnnotationService;
import com.an.config.AnnotationConfig;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 
/**
 * @description:
 * @author: anpeiyong
 * @date: Created in 2019/11/21 8:57
 * @since:
 */
public class AnnotationMainTest {
 
  public static void main(String[] args) {
    AnnotationConfigApplicationContext annotationConfigApplicationContext=new AnnotationConfigApplicationContext(AnnotationConfig.class);
    AnnotationService annotationService=annotationConfigApplicationContext.getBean(AnnotationService.class);
    annotationService.output();
    annotationConfigApplicationContext.close();
  }
}

结果:

组合注解成功。。。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • m1 Mac设置多jdk版本并动态切换的实现

    m1 Mac设置多jdk版本并动态切换的实现

    本文主要介绍 Mac 下如何安装 JDK 并且多版本如何切换,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 一文搞懂SpringBoot如何利用@Async实现异步调用

    一文搞懂SpringBoot如何利用@Async实现异步调用

    异步调用几乎是处理高并发,解决性能问题常用的手段,如何开启异步调用?SpringBoot中提供了非常简单的方式,就是一个注解@Async。今天我们重新认识一下@Async,以及注意事项
    2022-09-09
  • Spring技巧之如何动态读取配置文件

    Spring技巧之如何动态读取配置文件

    这篇文章主要介绍了Spring技巧之如何动态读取配置文件的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • SpringSecurity的防Csrf攻击实现代码解析

    SpringSecurity的防Csrf攻击实现代码解析

    这篇文章主要介绍了SpringSecurity的防Csrf攻击实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 详解基于java的Socket聊天程序——客户端(附demo)

    详解基于java的Socket聊天程序——客户端(附demo)

    这篇文章主要介绍了详解基于java的Socket聊天程序——客户端(附demo),客户端设计主要分成两个部分,分别是socket通讯模块设计和UI相关设计。有兴趣的可以了解一下。
    2016-12-12
  • IDEA中的clean,清除项目缓存图文教程

    IDEA中的clean,清除项目缓存图文教程

    这篇文章主要介绍了IDEA中的clean,清除项目缓存图文教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Mybatis-Plus可能导致死锁的问题分析及解决办法

    Mybatis-Plus可能导致死锁的问题分析及解决办法

    这篇文章给大家主要介绍了Mybatis-Plus可能导致死锁的问题分析及解决办法,文中通过代码示例给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2023-12-12
  • Java 异常机制Exception和自定义异常

    Java 异常机制Exception和自定义异常

    这篇文章主要介绍了Java 异常机制Exception+自定义异常,异常分三种检查性异常、运行时异常、错误ERROR,下文对其更多详细介绍,需要的小伙伴可以参考一下
    2022-05-05
  • 使用Java快速将Web中表格转换成Excel的方法

    使用Java快速将Web中表格转换成Excel的方法

    在平时做系统项目时,经常会需要做导出功能,下面这篇文章主要给大家介绍了关于使用Java快速将Web中表格转换成Excel的相关资料,需要的朋友可以参考下
    2023-06-06
  • Spring整合Mybatis思路梳理总结

    Spring整合Mybatis思路梳理总结

    mybatis-plus是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生,下面这篇文章主要给大家介绍了关于SpringBoot整合Mybatis-plus案例及用法实例的相关资料,需要的朋友可以参考下
    2022-12-12

最新评论