注解、反射、ORM

一、注解与注释

注解与注释是不同的,主要体现在下面四个方面:
1、定义不同:注解:英名为Annotation,它是JDK5.0及以后版本引入的一个特性。 与类、接口、枚举是在同一个层次,可以成为java 的一个类型。用一个词描述注解------元数据,它是一种描述数据的数据。所以,可以说注解就是源代码的元数据。注释:是对源代码作介绍、评议或说明的文字。
2、 作用不同:注解是Java 编译器可以理解的部分,是给编译器看的。通过标记包、类、字段、方法、局部变量、方法参数等元素据,告诉jvm这些元素据的信息。注释是程序员对源代码做一些记忆或提示性描述,是给人来看的。它能告诉开发者这段代码的逻辑、说明、特点等内容,对代码起到解释、说明的作用。
3、使用范围不同:注解 ,参与代码编译,以@开头的,与工具一起使用。对于位置、语法、内容有一定的限制。注释 ,可以随意在任意位置填写内容,对代码任何没有影响。
4、运行过程不同:
注解,在运行中JVM会去读取它,并对相应数据进行的操作,会向程序员反遣被标元素的注解。
注释,会被编译器忽略。

二、注解的分类

注解包括内置注解、元注解和自定义注解。
内置注解:Java自带的,比如说@Override、@Deprecated、@SuppressWarnings。
元注解:负责注解其他注解。
@Target:用于描述注解的使用范围,即被描述的注解可以用在什么地方。
@Retention:: 表示需要在什么级别保存该注释信息 , 用于描述注解的生命周期
自定义注解:通过@interface自定义注解。

@SuppressWarnings("all")
public class MyTest{
    @MyAnnotation();
    public void MyTest(){}
    }
@Target(value={ElementType.METHOD,ElementType.TYPE,ElementType.FIELD})//作用域
@Retention(RetentionPolicy.RUNTIME)//运行时级别
@interface MyAnnotation{
    String name ()  default "";
    int age ()  default 0;
     int id () default -1;
     String schools () default{"西部开源"}
}

三、反射

能够分析类能力的程序称为反射。反射机制可以用来:
(1)在运行时分析类的能力;
(2)在运行时查看对象;
(3)实现通用的数组操作代码;
(4)利用Method对象。
反射机制的特点:优点:可以实现动态创建对象和编译,体现出很的灵活性;
缺点:对性能影响。

获取class类的方法:
1、通过对象获得class:
person.getClass();
2、通过forName:包名+类名
Class.forName("MyPackeage0602.Student")
3、通过类的静态成员变量class获得:
Student.class;

例 通过反射机制操作类

public class Test{
public static void main (String [] args){
     Class <?> ca=Class.forName("MyPackage0602.User");
     User user =(User) c1.newInstance();
     //获得指定方法
     Method   method=c1.getDeclaredMethod("setName",String.class);
      method.invoke(user,"建军");
   System.out.println(user.getName());
//操作属性
    Field field=c1.getDeclaredField("name");
    field.setAccessible(true);
    field.set(user,"张先生")
System.out.println(user.getName());
}
};

ORM

ORM(Object Relationship Mapping)对象关系映射。
类和表结构对应
属性和字段对应
对象和记录对应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值