Java基础:Java 注解(Annotation)及使用
Java 注解(Annotation)是 JDK 1.5 引入的特性,与类、接口、枚举是在同一等级。它可以作用在类、属性、方法、局部变量、方法参数上,用于对这些元素进行说明,注释,解释。
注解在功能上可以看成是一个接口,注解实例就是一个实现该接口的动态代理类,可在方便在程序运行期间通过反射获取该字段或方法的注解的实例,来决定下一步如何处理。
Java 注解(Annotation)是 JDK 1.5 引入的特性,与类、接口、枚举是在同一等级。它可以作用在类、属性、方法、局部变量、方法参数上,用于对这些元素进行说明,注释,解释。
注解在功能上可以看成是一个接口,注解实例就是一个实现该接口的动态代理类,可在方便在程序运行期间通过反射获取该字段或方法的注解的实例,来决定下一步如何处理。
Spring提供了强大的注解功能,有部分注解是以@Enable*
开头的,表示开启某项功能,本文汇总下此类注解。
AspectJ
自动代理的支持。@ConfigurationProperties
注解配置Bean
的支持。Spring Data JPA Repository
的支持。 CRUD注解:@Select,@Insert,@Update,@Delete
。
配置项注解:@Options
。
参数绑定注解:@Param
, 将传入方法的参数绑定到 SQL 语句的参数上。
**结果映射注解: **@Results
—— 结果映射列表;@Result
—— 在列和属性或字段之间的单独结果映射。
@SessionAttributes
注解可以指定将Model
中的某些属性转存一份到HttpSession
对象中。
@CookieValue
注解用于将请求的Cookies
数据映射到功能处理方法的参数上。
@PathVariable
注解可以方便地获得请求URL
中的动态参数,该注解只支持一个属性value
,类型是String
, 表示绑定的名称,如果省则默认绑定同名参数。
@RequestHeader
注解可以将请求头的信息区数据映射到功能处理方法的参数上。
汇总SpringMVC
配置文件springmvc.xml
相关配置。
@ModelAttribute
注解将请求参数绑定到Model
对象,只支持一个value
属性,类型是String
。
该注解的方法会在所有Controller方法执行前执行,所在一个Controller映射多个URL
时,谨慎使用。个人认为该注解有些鸡肋。
SpringMVC为Controller方法提供了多种注解,很方便的可以对请求进行约定和处理。@RequestParam
,@PathVariable
,@CookieValue
,@RequestHeader
@RequestMapping
注解用来映射 URL 到控制器类或方法上,指示Spring
用那一个类或方法来处理请求动作。
当用来注解一个控制器类时,所有方法都将映射为相对类级别的请求,再找该类下方法级别的映射,最终的 URI
是类的映射地址拼接上方法映射地址。