@RestController:
该注解是@Controller和@ResponseBody的结合体。@ResponseBody:
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。(返回的数据不是html标签的页面,而是其他某种格式的数据时,如json、xml)@RequestBody:
该注解用于将Controller的方法参数,根据HTTP Request Header的content-Type的内容,通过适当的HttpMessageConverter转换为JAVA类@RequestMapping:
该注解用于处理请求地址映射,可用于类或方法上。用在类上表示类中的所有响应请求的方法都是以该地址作为父路径。@Resource 和 @Autowired:
这两个注解可以用来装配bean,可以写在字段上,或写在setter方法上。(转载链接)@Autowired默认按类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,如:@Autowired(required=false)。
Resource默认按照名称进行装配,名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字段上时,默认取字段名,按照名称查找,如果注解写在setter方法上默认取属性名进行装配。当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。
@Transactional:
该注解可以用于类或方法上,用在service类前,则是声明这个service的所有方法都需要事务管理,每一个业务方法都会打开一个事务。(声明式事务管理建立在AOP之上)@Entity:
该注解所注解的类映射有数据库表,使注解的类成为一个数据库操作实体。@PersistenceContext:
Expresses a dependency on a container-managed EntityManager and its associated persistence context.(官方文档)@Id:
该注解用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上,也可置于属性的getter方法之前。@GeneratedValue:
该注解用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应identity,MySQL对应auto increment。