注解是项目中经常用到的技术,常见的有java原生注解,像@overwrite等,还有像spring 中的@RequestMapping()这样的第三方注解,下面说一下自定义注解。理论的我也知之甚少,就不啰嗦,直接贴代码吧。
需求:想实现项hiberate那样通过一个简单的注解,直接生成Sql语句。
一:创建实体类,并加上自定义的注解
package annotation.pojo;
import annotation.ann.MyColome;
import annotation.ann.MyTable;
@MyTable("t_user")
public class User {
@MyColome("id")
private String id;
@MyColome("user_name")
private String userName;
@MyColome("tel")
private String tel;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
}
此时添加的自定义注解并没有被声明,会报错,不过没关系,下边就创建这两个注解。
二:创建自定义注解
@Target({ElementType.TYPE}) //作用在类或接口上
@Retention(RetentionPolicy.RUNTIME)
public @interface MyTable {
String value();
}
@Target({ElementType.FIELD}) //作用在字段上
@Retention(RetentionPolicy.RUNTIME)
public @interface MyColome {
String value();
}
创建注解其实主要的就看两个方面,一是作用域 @Target