在java.lang包中 有三个注解 分别是Deprecated ,SuppressWarning,Override 。
在使用注解前必须要在注解类前面加上@ ,每增加一个注解就意味着产生了一个注解对象。
注解用法举例:
例一:@SuppressWarnings(”deprecation”)
用于提示编译器下面使用了过时的方法。
用法举例二:@Deprecated,用于标记过时的方法,之后在调用此方法的时候编译器会提示次方法已经过时请慎重使用。
用法举例三:@Override,表示下面将要重写父类的方法,例如
class a{void abc()}
Class b extends a{
@Override//要重写父类方法了
Void abc(int i){}//这里会报错因为//父类没有带参数的abc方法
Void abc(){}//就不会报错
}
用法举例四:自定义注解,@interface name{},可以自己定义一个注解类。
注意注解的注解叫做元注解,@Retention(RetentionPolicy.RUNTIME)//表明次注解的生命周期为runtime。
@Target(ElementType.METHOD)//表明此注解只能用在方法前。
例如:@Retention(RetentionPolicy.RUNTIME)
Public @interface name{}//一个注解类
@name//调用这个注解
Public class Annotationtest {
Public Static viod main(String[] args){
name n = (name)Annotationtest.class.getAnnotation(name);
System.out.println(n);
}//用反射的方式拿到并打印此注解
}
同其他类一样,注解类一样可以有自己的属性,并且同样可以通过反射的方式被其他类和方法调用。
Hibernate注解:
1,@Entity(name="post")
其中name="post"就是数据库中创建的表的名字是post
@Entity定义数据库中的表,如果表名和类名不同,可以命名name=””.
2,@Id@GeneratedValue
配置主键id 主键的生成方式是hibernate自动选择
3,@Component("testAction") 表示把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>
@Scope("prototype") 表示是多例模式
4,@Column(length=40)
设置属性的长度
5,@ManyToOne
多对一关联映射。