java學習筆記(二)----註解與日誌學習筆記

1註解

概述

註解與註釋,

註解,告訴編譯器如何運行程序!

註釋, 給程序員閱讀,對編譯、運行沒有影響;

 

註解作用,

1. 告訴編譯器如何運行程序;

2. 簡化(取代)配置文件   【案例後再看】

 

常用的註解

// 重寫父類的方法

@Override

public String toString() {

return super.toString();

}

// 抑制編譯器警告

@SuppressWarnings({"unused","unchecked"})

private void save() {

List list = null;

}

// 標記方法以及過時

@Deprecated

private void save1() {

}

 

自定義註解

通過自定義註解,可以給類、字段、方法上添加描述信息!

a. 註解基本寫法

/**

 * 自定義註解  (描述一個作者)

 * @author Jie.Yuan

public @interface Author {

 * 註解屬性

 *   1.修飾爲默認或public

 *    2. 不能有主體

String name();

int age();

}

 

使用

@Author(name = "Jet", age = 30)

public void save() {

}

 

b.帶默認值的註解

public @interface Author {

 * 註解屬性

 *   1.修飾爲默認或public

 *    2. 不能有主體

 */

String name();

int age() default 30;  //帶默認值的註解;  使用的時候就可以不寫此屬性值

}

 

b.默認名稱的註解

註解屬性名稱爲value,這就是默認名稱

public @interface Author {

// 如果註解名稱爲value,使用時候可以省略名稱,直接給值

// (且註解只有一個屬性時候纔可以省略名稱)

String value();

}

使用

@Author("Jet")

@Author(value ="Jet")

註解屬性類型爲數組:

public @interface Author {

String[] value() default {"test1","test2"};

}

使用:

@Author{“”“”}

public void save() {

}

元註解

元註解,表示註解的註解!

指定註解的可用範圍:

@Target({

TYPE,     

FIELD,     字段

METHOD,  方法

PARAMETER,   參數

CONSTRUCTOR, 構造器

 LOCAL_VARIABLE  局部變量

})

// 元註解 - 2.指定註解的聲明週期

@Retention(RetentionPolicy.SOURCE)    註解只在源碼級別有效

@Retention(RetentionPolicy.CLASS)      註解在字節碼即別有效  默認值

@Retention(RetentionPolicy.RUNTIME)   註解在運行時期有效

註解反射

@Id

@Author(remark ="保存信息!!!", age = 19)

public void save()throws Exception {

// 獲取註解信息: name/age/remark

// 1. 先獲取代表方法的Method類型;

Class clazz = App_2.class;

Method m = clazz.getMethod("save");

// 2. 再獲取方法上的註解

Author author = m.getAnnotation(Author.class);

// 獲取輸出註解信息

System.out.println(author.authorName());

System.out.println(author.age());

System.out.println(author.remark());

}

2. 註解,優化BaseDao的代碼

當表名與數據庫名稱不一致、 字段與屬性不一樣、主鍵不叫id, 上面的BaseDao不能用!

這是,

可以通過配置文件(XML) 解決!

註解:

簡化XML配置, 程序處理非常方便!

(不便於維護: 例如修改字段名,要重新編譯!)

XML

便於維護!  需要些讀取代碼!

3. Log4J日誌組件

程序中爲什麼用日誌組件?

簡單來說,爲了項目後期部署上線後的維護、錯誤排查!

Log4j,  log for java, 開源的日誌組件!

使用步驟:

1. 下載組件,引入jar文件;

log4j-1.2.11.jar

2. 配置 :  src/log4j.properties

3. 使用

 

# 通過根元素指定日誌輸出的級別、目的地:

#  日誌輸出優先級: debug < info < warn < error

log4j.rootLogger=info,console,file

############# 日誌輸出到控制檯 #############

# 日誌輸出到控制檯使用的api

log4j.appender.console=org.apache.log4j.ConsoleAppender

# 指定日誌輸出的格式: 靈活的格式

log4j.appender.console.layout=org.apache.log4j.PatternLayout

# 具體格式內容

log4j.appender.console.layout.ConversionPattern=%d %p %c.%M()-%m%n

 

############# 日誌輸出到文件 #############

log4j.appender.file=org.apache.log4j.RollingFileAppender

# 文件參數: 指定日誌文件路徑

log4j.appender.file.File=../logs/MyLog.log

# 文件參數: 指定日誌文件最大大小

log4j.appender.file.MaxFileSize=5kb

# 文件參數: 指定產生日誌文件的最大數目

log4j.appender.file.MaxBackupIndex=100

# 日誌格式

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=%d %c.%M()-%m%n

 

 

發佈了61 篇原創文章 · 獲贊 26 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章