又看了下代码,好像field部分注解的作用就是区分哪些变量数据需要输出,哪些不需要。但问题是,实例的设计很有问题,没有体现出这一点。最后,怎么看都觉得,用columnName和fieldName没什么区别!
2015-08-22
Table t = (Table)c.getAnnotation(Table.class);
String tableName = t.value();
示例中只有上面的代码中利用注解是有用的,使得对任一个'表'类都能通过传进来的Object对象知道'表'代表的是什么,query()移植性强。
后面的代码用columnName和fieldName区别不大吧?(排除故意乱起让人无法理解的变量名的情况)这部分field注解用得没有意义!
String tableName = t.value();
示例中只有上面的代码中利用注解是有用的,使得对任一个'表'类都能通过传进来的Object对象知道'表'代表的是什么,query()移植性强。
后面的代码用columnName和fieldName区别不大吧?(排除故意乱起让人无法理解的变量名的情况)这部分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