又看了下代碼,好像field部分注解的作用就是區(qū)分哪些變量數(shù)據(jù)需要輸出,哪些不需要。但問題是,實例的設(shè)計很有問題,沒有體現(xiàn)出這一點。最后,怎么看都覺得,用columnName和fieldName沒什么區(qū)別!
2015-08-22
Table t = (Table)c.getAnnotation(Table.class);
String tableName = t.value();
示例中只有上面的代碼中利用注解是有用的,使得對任一個'表'類都能通過傳進來的Object對象知道'表'代表的是什么,query()移植性強。
后面的代碼用columnName和fieldName區(qū)別不大吧?(排除故意亂起讓人無法理解的變量名的情況)這部分field注解用得沒有意義!
String tableName = t.value();
示例中只有上面的代碼中利用注解是有用的,使得對任一個'表'類都能通過傳進來的Object對象知道'表'代表的是什么,query()移植性強。
后面的代碼用columnName和fieldName區(qū)別不大吧?(排除故意亂起讓人無法理解的變量名的情況)這部分field注解用得沒有意義!
2015-08-22
@<注解名>(<成員名1>=<成員值1>,<成員名2>=<成員值2>,...)
eg:
@Description(desc="I am eyeColor" ,author="Mooc boy",age="18")
public String eyeColor(){
return "red";
}
eg:
@Description(desc="I am eyeColor" ,author="Mooc boy",age="18")
public String eyeColor(){
return "red";
}
2015-08-18
注解:
按照運行機制分:源碼注解(編譯成.class時不存在);編譯時注解(注解在源碼和.class文件中都存在:@override);運行時注解(在運行階段還起作用,甚至還會影響運行邏輯的注解:@Autowired)。
按照來源來分:來自JDK的注解;來自第三方的注解(大部分);我們自己定義的注解。
元注解:注解的注解。。哈哈
按照運行機制分:源碼注解(編譯成.class時不存在);編譯時注解(注解在源碼和.class文件中都存在:@override);運行時注解(在運行階段還起作用,甚至還會影響運行邏輯的注解:@Autowired)。
按照來源來分:來自JDK的注解;來自第三方的注解(大部分);我們自己定義的注解。
元注解:注解的注解。。哈哈
2015-08-16