概述 在JDK5之后提供了一个新特性,和类.接口同级.定义时使用的关键字是@interface.注解主要有三个作用,分别是编译检查.替代配置文件.定义注解(元注解).分析代码(用到反射).注解的本质就是接口,可通过反编译注解的字节码文件. Java中的3个常用注解 @Override @Override注解主要是用于编译检查,子类重写父类的方法,重写的方法上面有该注解,一旦我们修改重写方法名就会报错.当我们删除@Override,再修改就不会报错了,这样编译器会认为这个方法是开发者自定义的方法…
反射,在Java常用框架中屡见不鲜.它存在于java.lang.reflact包中,就我的认识,它可以拿到类的字段和方法,及构造方法,还可以生成对象实例等.对深入的机制我暂时还不了解,本篇文章着重在使用方面,并附上一个本人应用到项目中的案例. 基础姿势 拿到类,反射是以类为基础的基础,首先拿到项目中的类,既可以这样拿 Class<?> clazz = Class.forName(类路径); 也可以这样拿 Class<?> clazz = 类名.getClass(); 在一般意义的J…
在网上找了很多资料也有写的比较好的,但是总有有一点半点的细节没有写出来,在这里自己总结下使用. 使用Java的自定义注解,首先个人需要了解下Java为我们提供的元注解和相关定义注解的语法.(这个我在网上选择了一篇详细的介绍链接在文章最底层) 1.首先自定义我们需要的注解 package com.plat; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lan…
概述 Java开发中文件上传的方式有很多,常见的有servlet3.0.common-fileUpload.框架.不管哪种方式,对于文件上传的本质是不变的. 文件上传的准备 文件上传需要客户端跟服务都有必须的规定,跟普通的post表单提交不太一样. 客户端的要求 首先请求的方式必须是Post请求. 以往我们通过表单提交普通数据用的组件,比如input类型text.checkbox.password等这些我们称之为普通上传组件.对于文件上传使用的组件必须是 <input type="file…
前言 作为一个java开发者,安装JDK是不可避免的,但是配置路径却总是记不住,百度也有很多参考例子.这里仅仅当做以后参考的笔记记录. 说到JDK,就不得不提JRE.他们到底是什么呢? 通常我们进行java开发,是要使用JDK的,它是专门给开发人员使用的API工具包,编译器,JRE等等.而JRE是java相关的应用程序运行时所需要的环境,所以相对于JDK来说,提供的东西要少一些. 比如,我们进行开发时,要去JDK的路径下寻找相应的jar包或者lib使用它其中的函数.而我们使用的eclipse本身…
## 元注解 要声明一个注解, 我们需要元注解, 元注解是指注解的注解,包括@Retention, @Target, @Document, @Inherited. @Retention 注解的保留位置(枚举RetentionPolicy),RetentionPolicy可选值: SOURCE 注解仅存在于源码中,在class字节码文件中不包含, 如果只是做一些检查性的操作,比如 @Override 和 @SuppressWarnings,则可选用 SOURCE 注解. CLASS 默认的保留策略…
之前在开发中,就总纳闷,为什么继承接口时,会出现@Override注解,有时候还会提示写注解@SuppressWarnings? 原来这是java特有的特性,注解! 那么什么是注解呢? 注解就是某种注解类型的一个实例,我们可以用它在某个类上进行标注,这样编译器在编译我们的文件时,会根据我们自己设定的方法来编译类. 注解都是什么呢?看下面这张图就明白了! 上面的图可以看出,注解大体上分为三种:标记注解,一般注解,元注解 @Override用于标识,该方法是继承自超类的.这样,当超类的方法修改后,实…
写在前面: 1.该框架为自己所写的第一个框架类产品,可能有着许多不足的地方,读者可以到评论区指出.同时,该微框架的源码也会开源至博客中,够后来的学习者借鉴.由于该框架逻辑结构稍些复杂,不可能花大量篇幅去逐一行代码的讲解,本文后半部分会贴出框架源代码,源代码中有着大量的注释,学习者若有看不懂的地方可以在博客后面留言. 2.该框架称之为微框架,在于其实现的功能简单,帮助开发者自动的建库建表,拜托对数据库操作的烦恼.众所周知,在javaee流行框架中mybatis的逆向工程生成的通用Mapper可以让…
前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉猎的小白们,还是可以提供点参考的. struts2其实就是为我们封装了servlet,简化了jsp跳转的复杂操作,并且提供了易于编写的标签,可以快速开发view层的代码. 过去,我们用jsp和servlet搭配,实现展现时,大体的过程是: 1 jsp触发action 2 servlet接受action,交给后台class处理 3 后台class跳转到其他的jsp,实现数据展现 现在有了stru…
一.首先看一下集合的框架图: 由于collection也继承了Iterator和comparable接口,因此我们可以使用Iterator来遍历元素,也可以通过自定义compareTo函数来重新编写自己的排序. 二.代码 1.List package testCollection; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class testList { public…