Spring-boot,Spring-mvc,Spring-jpa,常用注解

常用注解

JPA

@Transactional

@Transactional 可以作用于接口、接口方法、类以及类方法上。当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义,虽然 @Transactional 注解可以作用于接口、接口方法、类以及类方法上,但是 Spring 建议不要在接口或者接口方法上使用该注解,因为这只有在使用基于接口的代理时它才会生效。另外, @Transactional 注解应该只被应用到 public 方法上,这是由 Spring AOP 的本质决定的。如果你在 protected、private 或者默认可见性的方法上使用 @Transactional 注解,这将被忽略,也不会抛出任何异常。默认情况下,只有来自外部的方法调用才会被AOP代理捕获,也就是,类内部方法调用本类内部的其他方法并不会引起事务行为,即使被调用方法使用@Transactional注解进行修饰。http://www.cnblogs.com/yepei/p/4716112.html

@Modifying

1、在@Query注解中编写JPQL实现DELETE和UPDATE操作的时候必须加上@modifying注解,以通知Spring Data 这是一个DELETE或UPDATE操作。2、UPDATE或者DELETE操作需要使用事务,此时需要 定义Service层,在Service层的方法上添加事务操作。3、注意JPQL不支持INSERT操作。http://www.mamicode.com/info-detail-1809150.html

@Query

@Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Spring Data的特有实现。http://blog.csdn.net/lw_power/article/details/51296131

@Data

Lombok 插件注解,主要用来自动生成Get Set方法及构造函数

@Entity

JPA框架的注解,表示是一个实体类

@Table(name="XXX")

JPA框架的注解,表示是一个数据库表

@Id

JPA框架的注解,表示是一个数据库表的主键,且非空

@GeneratedValue(strategy= GenerationType.IDENTITY)

JPA框架的注解,表示数据库表的主键是自增长

@JsonFormat(pattern = "yyyy-MM-dd ", timezone = "GMT+8")

Json格式的时间注解,

@Transient

JPA框架的注解,表示对应实体的属性不在表里面

@Column(name = "XXX")

JPA框架的注解,表示是一个数据库表的一个列

@Configuration

Spring-boot框架,表示获取全局配置

@EnableJpaRepositories(basePackages = "xxx.xxx.xxx")

Srping JPA的代码配置,用于取代xml形式的配置文件,http://www.cnblogs.com/kaihe/p/4707995.html

@EnableTransactionManagement

Spring框架,启用注解式事务管理,http://cache.baiducontent.com/c?m=9d78d513d9d447ad4fece429514587384e4381137a9783493e87c20ec83907564616bce87b7145538c92202115e80902e5aa7034751421c486d5d21981f8d5747bdf7b61671cf11a548452f8dc4652907dcf47b9f144b2a7f03190afd8d3dd&p=8b2a9711ce9711a05bed95221e598b&newp=8b2a9737829a02ff57ee947f5b47c1231610db2151d6c44324b9d71fd325001c1b69e7bd21281404d3c57a6504a5495ee1f23674341766dada9fca458ae7c45a7bd164&user=baidu&fm=sc&query=%40EnableTransactionManagement&qid=c2313b2e00015728&p1=8

@Autowired

它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法,http://blog.csdn.net/heyutao007/article/details/5981555

@Bean(name = "XXX")

@Bean明确地指示了一种方法,什么方法呢——产生一个bean的方法,并且交给Spring容器管理;从这我们就明白了为啥@Bean是放在方法的注释上了,因为它很明确地告诉被注释的方法,你给我产生一个Bean,然后交给Spring容器,剩下的你就别管了,总结的内容:1、凡是子类及带属性、方法的类都注册Bean到Spring中,交给它管理;2、@Bean 用在方法上,告诉Spring容器,你可以从下面这个方法中拿到一个Bean

@Profile("!build-test")

与maven中的profile很相似,通过配置来改变参数。例如在开发环境与生产环境使用不同的参数,可以配置两套配置文件,通过@profile来激活需要的环境,但维护两套配置文件不如maven中维护一套配置文件,在pom中通过profile来修改配置文件的参数来的实惠,http://blog.csdn.net/hj7jay/article/details/53634159

API

@SpringBootApplication(scanBasePackages = "XXX.XXX.XXX", exclude = {ErrorMvcAutoConfiguration.class})

@SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan。http://blog.csdn.net/u013473691/article/details/52353923 http://412887952-qq-com.iteye.com/category/356333?page=6

@EnableWebMvc

When you're using Java code (as opposed to XML) to configure your Spring application, @EnableWebMvc is used to enable Spring MVC. If you're not already familiar with Spring's support for Java configuration, this is a good place to start.@EnableWebMvc is equivalent to <mvc:annotation-driven /> in XML. It enables support for @Controller-annotated classes that use @RequestMapping to map incoming requests to a certain method. You can read detailed information about what it configures by default and how to customise the configuration in the reference documentation.

@RestController

官方文档:@RestController is a stereotype annotation that combines @ResponseBody and @Controller.意思是:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。例如:本来应该到success.jsp页面的,则其显示success.2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。3)如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解,http://blog.csdn.net/gg12365gg/article/details/51345601

@RequestMapping("/api/articleFavorite")

RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。http://www.cnblogs.com/qq78292959/p/3760560.html

@Resource

@Resource(这个注解属于J2EE的),默认安照名称进行装配,名称可以通过name属性进行指定, 如果没有指定name属性,当注解写在字段上时,默认取字段名进行按照名称查找,如果注解写在setter方法上默认取属性名进行装配。 当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。http://bhdweb.iteye.com/blog/1663907

@RequestParam

在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取,http://825635381.iteye.com/blog/2196911

@GetMapping("/newMessage")

@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。http://blog.csdn.net/webzhuce/article/details/53319468

@PostMapping("/add")

@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。该注解将HTTP POST 映射到特定的处理方法上。http://blog.csdn.net/webzhuce/article/details/53319468

@RequestBody Pager pager

@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。http://www.cnblogs.com/qiankun-site/p/5774300.html

自定义

@Admin

需要登录

@WithoutToken

不需要token

@VersionRange

版本验证

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,678评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,494评论 18 139
  • spring官方文档:http://docs.spring.io/spring/docs/current/spri...
    牛马风情阅读 1,635评论 0 3
  • 1、Spring MVC请求流程 (1)初始化:(对DispatcherServlet和ContextLoderL...
    拾壹北阅读 1,941评论 0 12
  • 周末又没了,明天又是上班一族,oh,是实习一族。 健身房打卡,发觉越来越喜欢瑜伽,可以舒展身体也可以看到自己无比不...
    麻辣红豆香锅圆子阅读 180评论 0 0