美文网首页
Java注解与Spring注解

Java注解与Spring注解

作者: 沐兮_d64c | 来源:发表于2019-05-21 21:12 被阅读0次

    1,元注解与自定义注解

    1)java.lang.annotation包中包含了所有定义自定义注解所需要的元注解和接口。如java.lang.annotation.Annotation接口,被所有注解自动继承,类似Object

    image.png
    2)定义自定义注解需要的元注解
    @Documented :此注解会被javadoc工具提取成文档
    @Retention : 指定注解被保留到什么时候
    image.png
    @Target : 指明适用此注解的上下文
    image.png
    @Inherited:注解被自动继承
    3)自定义注解与使用
    Spring的@Autowired注解
    image.png
    jdk的@Resource注解
    image.png

    2,自定义注解的使用

    1)自定义注解与反射息息相关
    类的Class对象中,提供判断注解是否存在的isAnnotationPresent方法

    image.png
    2)自定义注解声明成员
    成员声明与(无参数、无异常的)接口方法类似。
    如String name() default "" 为自定义注解声明了name成员,如果只有一个成员,最好命名为value。

    3,Spring注解解析

    1)Spring通过向容器注册BeanPostProcessor,来处理@Autowired、@Resource等注解的。
    2)<context:annotation-config>默认注册的4种beanPostProcessor。
    CommonAnnotationBeanPostProcessor : 主要处理@Resource、@PostConstruct和@PreDestroy注解的实现。

    image.png
    image.png
    AutowiredAnnotationBeanPostProcessor:主要处理主要处理@Autowired、@Value、@Lookup和@Inject注解的实现。
    image.png
    image.png
    RequiredAnnotationBeanPostProcessor:主要处理@Required注解的实现。
    PersistenceAnnotationBeanPostProcessor:主要解析和处理@PersistenceUnit、@PersistenceContext注解。

    相关文章

      网友评论

          本文标题:Java注解与Spring注解

          本文链接:https://www.haomeiwen.com/subject/nceszqtx.html