前言 我黄汉三又回来了,快半年没更新博客了,这半年来的经历实属不易,疫情当头,本人实习的公司没有跟员工共患难, 直接辞掉了很多人.作为一个实习生,本人也被无情开除了.所以本人又得重新准备找工作了. 算了,感慨一下,本来想昨天发的,但昨天是清明,哀悼时期,就留到了今天发. 话不多说,直接进入正题吧.这段时间本人在写毕设,学校也迟迟没有开学的消息,属实难顶. 本来被开了本人只想回学校安度"晚年"算了,毕竟工作可以再找,但亲朋好友以后毕业了可能就很少见了. 所以亲们,一定要珍惜身边的人噢.…
//ElementType.TYPE 给类.接口.枚举上使用 @Target(ElementType.TYPE)//给注解进行注解,表示该注解可以用在什么地方 //@Retention(RetentionPolicy.CLASS)//表示注解传递存活时间,CLASS表示注解保留到编译进行时期,不会被加载到jvm中 @Retention(RetentionPolicy.RUNTIME)//注解可以保留到程序运行时,并被加载到jvm中,因为反射获取的时类的运行时的状态,所以可以通过反射机制读取注解的…
Java的注解非但是一种标记,还是一种特殊的类型,并且拥有专门的类型定义.前面介绍的五种内置注解,都可以找到对应的类型定义代码,例如查看注解@Override的源码,发现它的代码定义是下面这样的: @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface Override {} 又如注解@FunctionalInterface,它的源码定义与之类似: @Documented @Retentio…
Springmvc的核心是DispatcherServlet来进行各种请求的拦截,进而进行后续的各种转发处理.流程图如下: 说明:客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL.Http方法.请求报文头和请求参数Cookie等)以及HandlerM…
  编者的话:注解是java的一个主要特性且每个java开发者都应该知道如何使用它.   我们已经在Java Code Geeks提供了丰富的教程, 如Creating Your Own Java Annotations (https://www.javacodegeeks.com/2014/07/creating-your-own-java-annotations.html ), Java Annotations Tutorial with Custom Annotation ( http:/…
java反射之获取类或接口上的所有方法及其注解(包括实现的接口上的注解) /** * 获取类或接口上的所有方法及方法上的注解(包括方法实现上的注解以及接口上的注解),最完整的工具类,没有现成的工具类 * * @param clz * @param clzFilter * 仅返回具有指定类注解的类或接口中的方法,默认不过滤 * @param methodFilter * 仅返回具有指定方法注解的方法,默认不过滤. 一般使用类或方法即可,没有必要同时两者 * @param includeObject…
注解 Annotation 基于注解的开发,使得代码简洁,可读性高,简化的配置的同时也提高了开发的效率,尤其是SpringBoot的兴起,随着起步依赖和自动配置的完善,更是将基于注解的开发推到了新的高度. 元注解 meta-annotation Java 5 定义了四个标准的元注解类型,用以提供对其它注解的功能说明. 位于java.lang.annotation包下,分别为: 1. @Target 2. @Retention 3. @Documented 4. @Inherited 以@Prof…
[注解] 程序中有 注释 和注解 * 注释:给开发人员. * 注解:给计算机看的. 注解使用:学习框架支持注解开发. [JDK提供的注解] @Override :描述方法的重写. @SuppressWarnings :压制警告. @Deprecated :标记过时. 自定义注解: 定义一个类:class 定义一个借口:interface 定义一个枚举:enum 定义一个注解:@interface 用法: @interface MyAnno1{ } 带有属性的注解: @interface MyAn…
java spring是元编程框架---使用的机制是注解+配置…
, fullName.indexOf("$$")); try { clz = Class.forName(fullName); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } Method[] methods = clz.getMethods(); for (Method method : methods) { if (method.isAnnotationPresent(Encrypt.c…
@Retention是java当中的一个元注解,该元注解通常都是用于对软件的测试 1.适用方式:     @Retention(RetentionPolicy.RUNTIME)     @interface Task{.......}     参数RetentionPolicy.RUNTIME就说明了,@Task注解在程序运行时是可见的     RetentionPolicy的枚举类型还有SOURCE.CLASS分别指定注解对于那个级别是可见的,但是     我们一般都是用RUNTIME,因为这…
元注解是指注解的注解,包括@Retention @Target @Document @Inherited四种. 1.@Retention: 定义注解的保留策略@Retention(RetentionPolicy.SOURCE)   //注解仅存在于源码中,在class字节码文件中不包含@Retention(RetentionPolicy.CLASS)     // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,@Retention(RetentionPolicy.RUNT…
转: java.lang.reflect.Method.getAnnotation()方法示例 java.lang.reflect.Method.getAnnotation(Class <T> annotationClass)方法如果存在这样的注释,则返回指定类型的元素的注释,否则为null. 声明 以下是java.lang.reflect.Method.getAnnotation(Class <T> annotationClass)方法的声明. public <T exte…
30.用enum代替int常量 枚举类型是指由一组固定的常量组成合法值的类型.在java没有引入枚举类型前,表示枚举类型的常用方法是声明一组不同的int常量,每个类型成员一个常量,这种方法称作int枚举模式.采用int枚举模式的程序是十分脆弱的,因为int值是编译时常量,若与枚举常量关联的int发生变化,客户端就必须重新编译. java枚举类型背后的思想:通过公有的静态final域为每个枚举常量导出实例的类.因为没有可以访问的构造器,枚举类型是真正的final.客户端既不能创建枚举类型的实例,也…
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Annotation的工作原理:2.@Override注解:3.@Deprecated注解:4.@SuppressWarnings注解:5.自定义注解:5.1.添加变量:5.2.添加默认值:5.3.多变量使用枚举:5.4.数组变量:6.设置注解的作用范围:6.1.在自定义注解中的使用例子:7.使用反射读取R…
上篇文章,我们简单的实现了一个自定义注解,相信大家对自定义注解有了个简单的认识,这篇,这样介绍下注解中的元注解和内置注解 整体图示 内置注解 @Override 重写覆盖 这个注解大家应该经常用到,主要在子类重写父类的方法,比如toString()方法 package com.kevin.demo; public class Demo1 { @Override public String toString(){ return "demo1"; } } @Deprecated 过时 @D…
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法. 元注解: 元注解的作用就是负责注解其他注解.Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明.Java5.0定义的元注解: 1.@Target, 2.@Retention, 3.@Documented, 4.@Inherited 这些类型和它们所支持的类在java.lang.annot…
转载:http://blog.csdn.net/bao19901210/article/details/17201173/ java自定义注解 Java注解是附加在代码中的一些元信息,用于一些工具在编译.运行时进行解析和使用,起到说明.配置的功能.注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用.包含在 java.lang.annotation 包中. 1.元注解 元注解是指注解的注解.包括  @Retention @Target @Document @Inherited四种. 1.1.@…
深入理解Java:注解(Annotation)自己定义注解入门 要深入学习注解.我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前.我们就必须要了解Java为我们提供的元注解和相关定义注解的语法. 元注解: 元注解的作用就是负责注解其它注解. Java5.0定义了4个标准的meta-annotation类型.它们被用来提供对其它 annotation类型作说明.Java5.0定义的元注解: 1.@Target, 2.@Retention, 3.@Documented, 4.@Inher…
Java注解 一.什么是注解 注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,没有加,则等于没有任何标记,以后,javac编译器.开发工具和其他程序可以通过反射来了解你的类及各种元素上有无何种标记,看你的程序有什么标记,就去干相应的事,标记可以加在包.类,属性.方法,方法的参数以及局部变量上. 注解就相当于一个你的源程序要调用一个类,在源程序中应用某个注解,得事先准备好这个注解类.就像你要调用某个类,得事先开发好这个类. 注解的分类 注解根据它的生命周期可以…
注解的定义 注解是那些插入到源代码中,使用其他工具可以对其进行处理的标签. 注解不会改变程序的编译方式:Java编译器对于包含注解和不包含注解的代码会生成相同的虚拟机指令. 在Java中,注解是被当做一个修饰符来使用的(修饰符:如public.private) 注解的常用用法:1. 附属文件的自动生成,例如bean信息类. 2. 测试.日志.事务等代码的自动生成. 单元测试例子: import org.junit.Test; public class SomeTest { @Test publi…
目录 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. Junit使用:白盒测试 步骤: 1. 定义一个测试类(测试用例) 建议: 测试类名:被测试的类名Test CalculatorTest 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方法:可以独立运行 建议: 方法名:test测试的方法名 tes…
这两天在学习权限控制模块.以前看过传智播客黎活明老师的巴巴运动网视频教程,里面就讲到权限控制的解决方案,当时也只是看看视频,没有动手实践,虽说看过几遍,可是对于系统中的权限控制还是很迷茫,所以借着这次机会动手实践一下. 黎活明老师的巴巴运动网使用的框架是struts + spring + jpa,大致思路是使用自定义注解,在需要权限控制的方法前使用注解定义方法所需的权限,然后使用AOP拦截访问的方法,在执行目标对象前通过反射取得目标对象所需的权限,然后从当前session中取得登陆用户,遍历用户…
基于Java配置选项,可以编写大多数的Spring不用配置XML,但有几个基于Java的注释的帮助下解释.从Spring3.0开始支持使用java代码来代替XML来配置Spring,基于Java配置Spring依靠Spring的JavaConfig项目提供的很多优点.通过使用@Configuration, @Bean ,@Import ,@DependsOn 来实现Java配置Spring. 1) @Configuration & @Bean 注解: 在Spring的新的Java-Configu…
1. 一些基本概念 在开始之前,我们需要声明一件重要的事情是:我们不是在讨论在运行时通过反射机制运行处理的注解,而是在讨论在编译时处理的注解.注解处理器是 javac 自带的一个工具,用来在编译时期扫描处理注解信息.你可以为某些注解注册自己的注解处理器.这里,我假设你已经了解什么是注解及如何自定义注解.如果你还未了解注解的话,可以查看官方文档.注解处理器在 Java 5 的时候就已经存在了,但直到 Java 6 (发布于2006看十二月)的时候才有可用的API.过了一段时间java的使用者们才意…
注解属于比较高级的Java开发技术,前面介绍的内置注解专用于编译器检查代码,另外一些注解则由各大框架定义与调用,像Web开发常见的Spring框架.Mybatis框架,Android开发常见的ButterKnife框架等等,都使用了大量的注解.为了更好地弄清注解的应用原理,接下来不妨尝试自定义注解,并在实际开发中对自定义的注解加以运用.之前介绍异常预防的时候,为了避免出现空指针异常,可谓是八仙过海各显神通,一路试验了多项新技术.其中校验某个字段非空尤其是个难点,案例中的苹果类共有四个字段,包括名…
自 JDK5 推出以来,注解已成为Java生态系统不可缺少的一部分.虽然开发者为Java框架(例如Spring的@Autowired)开发了无数的自定义注解,但编译器认可的一些注解非常重要. 在本文中,我们将看到5个Java编译器支持的注解,并了解其期望用途.顺便,我们将探索其创建背后的基本原理,围绕其用途的一些特质,以及正确应用的一些例子.虽然其中有些注解比其他注解更为常见,但非初学Java开发人员都应该消化了解每个注解. 首先,我们将深入研究Java中最常用的注解之一:@Override.…
博客分类: Java/J2se   作者:赵磊 博客:http://elf8848.iteye.com 不了解注解基础知识的请先看<JDK 5 Annotation\注解\注释\自定义注解> 子类可以继承到父类上的注解吗? ----------------------------------------------------------------- 我们知道在编写自定义注解时,可以通过指定@Inherited注解,指明自定义注解是否可以被继承.但实现情况又可细分为多种. 测试环境如下: -…
  java 静态代码块和spring @value等注解注入顺序 问题所在 先上代码 java方法 @Value("${mf.cashost}") public static String casHost; public static String getCasHost() { if (StringUtils.isEmpty(casHost)) { //casHost = "http://sso.abc.com.cn/sso/"; casHost = "…
当使用spring AOP时,判断目标方法上的注解进行相关操作,如缓存,认证权限等 自定义注解 package com.agent.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.…