java中的注解很多,先记录常用的一些:
一、可以在代码中自己定义注解: Java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。
注解@Retention可以用来修饰注解,是注解的注解,称为元注解。具体如下:
用@Retention(RetentionPolicy.CLASS)修饰的注解,表示注解的信息被保留在class文件(字节码文件)中当程序编译时,但不会被虚拟机读取在运行的时候;
用@Retention(RetentionPolicy.SOURCE )修饰的注解,表示注解的信息会被编译器抛弃,不会留在class文件中,注解的信息只会留在源文件中;
用@Retention(RetentionPolicy.RUNTIME )修饰的注解,表示注解的信息被保留在class文件(字节码文件)中当程序编译时,会被虚拟机保留在运行时,
二、常用注解:
1,请求参数:@PathVariable和@RequestParam的区别:
前者从路径里面去获取变量,也就是把路径当做变量,后者是从请求里面获取参数。如:
@RequestMapping(value="/page{pageNo}.do")
public String page(@PathVariable int pageNo){}
和
@RequestMapping(value="/page.do")
public String page(@RequestParam int pageSize,@RequestParam int pageNow){}
@Configuration:可以通过Java文件取代xml文件的Bean配置
@Value:读取xxx.properties进Java文件进行键值对的注入
@Bean:@Configuration进行实例化Bean。name:指定bean名字
@Override:用在方法上,当我们想重写一个方法时,在方法上加@Override,当我们方法
的名字出错时,编译器就会报错
@Deprecated:用来表示某个类的属性或方法已经过时,不想别人再用时,在属性和方法
@SuppressWarnings:用来压制程序中出来的警告,比如在没有用泛型或是方法已经过时的时候
@controller:注解的类可以被spring扫到并加入到bean中,类内部的方法返回String类目参数,会进行页面的跳转,直接跳转到String页面。
@ResponseBody: 会以json数据格式进行返回。
@RestController:集合了@Controller和@ResponseBody,所有的方法都会按照json格式返回,不会跳转到页面,直接输出json格式的内容,但这种注解方式,不适合用于页面跳转。
@Configuration
用来初始化配置,@Configuration的类启动工程时会被初始化,当别人引用了jar,jar中被@Configuration的类也将初始化。
在实体类前面加以下注解,表示系列化时,当变量为空,则将变量去除
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@EnableCaching注解是spring framework中的注解驱动的缓存管理功能。自spring版本3.1起加入了该注解。如果你使用了这个注解,那么你就不需要在XML文件中配置cache manager了,等价于 <cache:annotation-driven/> 。能够在服务类方法上标注@Cacheable