SpringAOP02 自定义注解】的更多相关文章

1 自定义注解 1.1 创建自定义注解 从java5开始就可以利用 @interface 来定义自定义注解 技巧01:注解不能直接干扰程序代码的运行(即:注解的增加和删除操作后,代码都可以正常运行) 技巧02:@Retention 用来声明注解的保留期限 /* * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use i…
一.前言 今天阅读帆哥代码的时候,看到了之前没有见过的新东西, 比如java自定义注解类,如何获取注解,如何反射内部类,this$0是什么意思? 于是乎,学习并整理了一下. 二.代码示例 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Tar…
Jackson 通过自定义注解来控制json key的格式 最近我这边有一个需求就是需要把Bean中的某一些特殊字段的值进行替换.而这个替换过程是需要依赖一个第三方的dubbo服务的.为了使得这个转换功能更加的通用,我们采用了下面的方式: client端使用自定义的注解(假设为@Dimension)标记Bean中所有的「特殊字段」 client端把bean转换为json格式,但是这个转换过程的要求是:这些特殊的字段对应的json的key需要符合一定的格式,而这个格式依赖于标记的@Dimensio…
对注解概念不了解的可以先看这个:Java注解基础概念总结 前面有提到注解按生命周期来划分可分为3类: 1.RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃: 2.RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期: 3.RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在: 这3个生…
在学习使用Spring和MyBatis框架的时候,使用了很多的注解来标注Bean或者数据访问层参数,那么JAVA的注解到底是个东西,作用是什么,又怎样自定义注解呢?这篇文章,即将作出简单易懂的解释. 首先,注解的概念是从JDK1.5才引入的,而且第一个版本不支持基于接口的注解,即诸如@Override之类的注解无法使用.所以,注解是用来修饰方法,参数,变量,构造器,类等的特殊工具,也称之为一种元数据——描述数据的数据. 简单的栗子: @Override public String toStrin…
注解在JavaSE中算是比较高级的一种用法了,为什么要学习注解,我想大概有以下几个原因: 1. 可以更深层次地学习Java,理解Java的思想. 2. 有了注解的基础,能够方便阅读各种框架的源码,比如hibernate,SpringMVC等等.里面就用到了大量的注解.即便无法阅读源码,以后使用这些框架,会有一种心理上的安全感. 3. 方便今后跟别人吹牛.(当然,这也很重要.) 好了,话不多说,我们开始吧. 1. 从注释的角度来理解注解 我想了很久,最终决定以这个小标题作为第一节的标题,我们在编写…
注解的分类: 源码注解 编译时注解 JDK的@Override 运行时注解 Spring的@Autowired 自定义注解的语法要求 ① 使用@interface关键字定义注解 ② 成员以无参无异常方式执行 ③ 可以用defaut为成员指定一个默认值 ④ 成员类型是受限的包括原始类型,及String Class Annotation Enumberation ⑤ 如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员名和赋值号(=) ⑥ 注解类可以没有成员,称为标识注解 p…
自定义注解:这里是一个处理异常的注解,当调用方法发生异常时,返回异常信息 /** * ErrorCode: * * @author yangzhenlong * @since 2016/7/21 */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited public @interface ErrorException { int code() default 0;//参数…
基于 ssm + maven + redis 使用自定义注解 利用aop基于AspectJ方式 实现redis缓存 如何能更简洁的利用aop实现redis缓存,话不多说,上demo 需求: 数据查询时每次都需要从数据库查询数据,数据库压力很大,查询速度慢, 因此设置缓存层,查询数据时先从redis中查询,如果查询不到,则到数据库中查询 然后将数据库中查询的数据放到redis中一份,下次查询时就能直接从redis中查到,不需要查询数据库了 实现过程: 先搭建ssm的架子,引入redis,编写red…
在spring的应用中,经常使用注解进行开发,这样有利于加快开发的速度. 介绍一下自定义注解: 首先,自定义注解要新建一个@interface,这个是一个注解的接口,在此接口上有这样几个注解: @Documented 标记生成javadoc @Retention 注解的生存期,取值有: 取值 描述 SOURCE 在源文件中有效(即源文件保留,领盒饭). CLASS 在 class 文件中有效(即 class 保留,领盒饭). RUNTIME 在运行时有效(即运行时保留) @Target 标注的目…