hibernate 时间 默认值 -(mysql) 注解_注解@ -shihchang
注解,即元數(shù)據(jù),形式化地在代碼中添加信息,把元數(shù)據(jù)與源代碼文件結(jié)合在一起。注解可以完整地描述程序所需的信息。可以使用注解來簡(jiǎn)化和自動(dòng)化重復(fù)的過程或代碼
javaSE5有三種注解:
`@Override`表示當(dāng)前方法將覆蓋父類中的方法, `@Deprecated`表示使用當(dāng)前元素時(shí)會(huì)發(fā)出警告, `@SuppressWarnings`關(guān)閉不必要的編譯器警告信息
創(chuàng)建一個(gè)自定義注解時(shí),有四種注解可以使用。
注解 != 注釋
注解是源代碼層面的東西
**元注解:**
定義注解時(shí),需要使用一些元注解來修飾注解:
`@Target`表示定義的注解的使用域(是一個(gè)方法METHOD或一個(gè)域)
METHOD方法聲明, CONSTRUCTOR構(gòu)造器聲明, FIELD域聲明, LOCAL_VARIABLE局部變量聲明, PACKAGE包聲明, PARAMETER參數(shù)聲明, TYPE類,接口,或枚舉類型聲明
`@Rectetion`定義注解的存在時(shí)間(源代碼SOURCE,類文件CLASS,運(yùn)行時(shí)RUNTIME)
定義的注解中沒有方法的注解叫做標(biāo)記注解maker annotation
`@DOcument`表示將此注解包含在Javadoc中
`@Inherit`允許子類繼承父類中的注解
**注解的元素聲明:**
元素可以使用的種類:1.所有基本數(shù)據(jù)類型;2.String;3.Class;4.enum;5.Annotation;6.以上5種的數(shù)組。*名義上不允許包裝類型*,元素不能有不確定值null,至少有默認(rèn)值。可以使用默認(rèn)值為負(fù)數(shù)或者空字符串表示參數(shù)的不正確。
```java
@Target(ElementType.METHOD)
@RetentionPolicy(ElementType.RUNTIME)
public @interface UseCase{
public int id();
public String description() default "no description";
}
```
在使用該UseCase注解時(shí),需要使用鍵值對(duì)的方式給出id和description
**編寫創(chuàng)建注解處理器:**
注解處理器,讀取注解,留一個(gè)方法接口
注解的屬性為int,和String,int型的屬性作為注解的標(biāo)志,可以使用一個(gè)方法接口,參數(shù)為一個(gè)Integer的容器,一個(gè)Class對(duì)象。
```java
注解處理器接口:
public static void useCaseTracker(List useCase, Class> cl){...}
調(diào)用注解處理器:
useCaseTracker(new ArrayList, myUseCase.class);
```
class是一個(gè)關(guān)鍵字,不能作為參數(shù)。
**注解的擴(kuò)展應(yīng)用:**
框架應(yīng)用:Spring框架,Spring freamwork,等等一系列。對(duì)象映射框架ORM,mybatis,hibernate等等。使用注解來簡(jiǎn)化和自動(dòng)化重復(fù)代碼。
**注解的應(yīng)用理解:**
一般的自定義注解如果不使用注解處理器,則自定義的注解與注釋沒有什么區(qū)別。向代碼中添加信息。添加注解處理器后,可以實(shí)施監(jiān)控,對(duì)類,方法,參數(shù),進(jìn)行監(jiān)控,處理使用了這些注解的方法的參數(shù),對(duì)這些數(shù)據(jù)進(jìn)行處理分析,可以打印日志,可以進(jìn)行攔截,可以通過注解處理器進(jìn)行代碼復(fù)用。
總結(jié)
以上是生活随笔為你收集整理的hibernate 时间 默认值 -(mysql) 注解_注解@ -shihchang的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql备份一个表到ftp_备份部分m
- 下一篇: python分组函数_Python中如何