您的位置:首页 > 编程语言 > Java开发

SpringMVC—相关注解介绍

2016-04-26 14:25 344 查看
本文主要介绍一些常见的注解:

@Entity:标注类为实体类

@Table:指定实体类对应的数据库中的表

@Id:标注某属性为主键

@GeneratedValue:设置主键的生成策略

@Column:标识实体类中属性与数据表中字段的对应关系

@JoinColumn:标识保存表与表之间关系(ManyToOne、OneToOne)的字段,它要标注在实体属性上

@JSON(serialize=false):不参与JSON转换,不被序列化

@Temporal(TemporalType.DATE):格式化时间和日期,在页面直接得到格式化后的数据

TemporalType.TIME:时间 TemporalType.TIMESTAMP:日期和时间

 

@Resource:当需要在某个类中定义一个属性,并且该属性是一个已存在的bean,要为该属性赋值或注入时在该属性上一行使用@Resource(name="xxx"),相当于为该属性注入一个名称为xxx的bean。即依赖注入bean,作用在属性上

@Resource装配顺序:

  1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常

  2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常

  3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常

  4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;

 

 

@Repository:将数据访问层dao的类标识为Bean,只需将该注解标注在DAO类上即可。不只是将类识别为Bean,同时它还能将所标注的类中抛出的数据访问异常封装为Spring的数据访问异常类型

 

@service:将业务层service的类标识为bean,则在这个类的类名前一行使用@Service("XXX"),就相当于将这个类定义为一个bean,bean名称为XXX;即定义bean,作用在类上

 

@Constroller:将控制层action的类标识为bean

 

@Component:是一个泛化的概念,仅仅表示一个组件(Bean),可以作用在任何层次。

 

@Scope:简单点说就是用来指定bean的作用域,默认作用域是"singleton",即单例,还可以是prototype,request,session,global
 session

 

@Scheduled(cron="0/30 * * * * *"):定时调度

使用步骤:1、在spring.xml文件的命名空间中添加task相关内容

2、配置任务扫描注解:<task:annotation-driven/> 

3、配置自动扫描的包:<context:component-scan base-package="*"/>  

需要注意:1、定时器的任务方法不能有返回值2、任务方法的类上要有@Component注解

 

@RequestParam(value=”指定参数名”, required=false):

相当于request.getParamter();用于获取参数值。

指定value的值后,名称一定要对应,不然报错。

required值为false时,参数可不传,不传会给参数赋值为null;参数类型建议使用包装类(Integer),不要使用基本类型(int)。使用基本类型赋值为null时会报错。

 

@PathVariable:用于给uri中的动态参数注入值

 

@RequestHeader:用于将请求头中的值绑定到方法的参数上。@CookieValue

 

@RequestBody:一般用于处理json和xml格式的请求

 

@SessionAttributes:用于绑定HttpSession中的attribute对象的值,便于在方法中使用,一般作用于类上

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  注解 Spring MVC