hibernate 时间 默认值 -(mysql) 注解_注解@ -shihchang

注解,即元数据,形式化地在代码中添加信息,把元数据与源代码文件结合在一起。注解可以完整地描述程序所需的信息。可以使用注解来简化和自动化重复的过程或代码

javaSE5有三种注解:

`@Override`表示当前方法将覆盖父类中的方法, `@Deprecated`表示使用当前元素时会发出警告, `@SuppressWarnings`关闭不必要的编译器警告信息

创建一个自定义注解时,有四种注解可以使用。

注解 != 注释

注解是源代码层面的东西

**元注解:**

定义注解时,需要使用一些元注解来修饰注解:

`@Target`表示定义的注解的使用域(是一个方法METHOD或一个域)

METHOD方法声明, CONSTRUCTOR构造器声明, FIELD域声明, LOCAL_VARIABLE局部变量声明, PACKAGE包声明, PARAMETER参数声明, TYPE类,接口,或枚举类型声明

`@Rectetion`定义注解的存在时间(源代码SOURCE,类文件CLASS,运行时RUNTIME)

定义的注解中没有方法的注解叫做标记注解maker annotation

`@DOcument`表示将此注解包含在Javadoc中

`@Inherit`允许子类继承父类中的注解

**注解的元素声明:**

元素可以使用的种类:1.所有基本数据类型;2.String;3.Class;4.enum;5.Annotation;6.以上5种的数组。*名义上不允许包装类型*,元素不能有不确定值null,至少有默认值。可以使用默认值为负数或者空字符串表示参数的不正确。

```java

@Target(ElementType.METHOD)

@RetentionPolicy(ElementType.RUNTIME)

public @interface UseCase{

public int id();

public String description() default "no description";

}

```

在使用该UseCase注解时,需要使用键值对的方式给出id和description

**编写创建注解处理器:**

注解处理器,读取注解,留一个方法接口

注解的属性为int,和String,int型的属性作为注解的标志,可以使用一个方法接口,参数为一个Integer的容器,一个Class对象。

```java

注解处理器接口:

public static void useCaseTracker(List useCase, Class> cl){...}

调用注解处理器:

useCaseTracker(new ArrayList, myUseCase.class);

```

class是一个关键字,不能作为参数。

**注解的扩展应用:**

框架应用:Spring框架,Spring freamwork,等等一系列。对象映射框架ORM,mybatis,hibernate等等。使用注解来简化和自动化重复代码。

**注解的应用理解:**

一般的自定义注解如果不使用注解处理器,则自定义的注解与注释没有什么区别。向代码中添加信息。添加注解处理器后,可以实施监控,对类,方法,参数,进行监控,处理使用了这些注解的方法的参数,对这些数据进行处理分析,可以打印日志,可以进行拦截,可以通过注解处理器进行代码复用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值