Springboot中常见注解的使用

来源:互联网 发布:matlab之父编程实践 编辑:程序博客网 时间:2024/06/03 23:42

通过近期的项目,在项目中遇到过的很多问题都是因为对注解的使用不熟导致开发效率不高,所以我花了一些时间,对Springboot中最常见的注解进行整理和归纳,希望可以帮助到大家。

 

(1)     在Springboot中最重要的是@RestController和@RequestMapping注解

 

@RestController注解,它继承自@Controller注解。 当实现一个RESTful web services的时候,response将一直通过response body发送。为了简化开发,Spring 4.0提供了一个专门版本的controller。下面是@RestController实现的定义:

 

 

@RequestMapping 注解提供路由信息。

 

它是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
该注解有六个属性:
params:
指定request中必须包含某些参数值是,才让该方法处理。
headers:
指定request中必须包含某些指定的header值,才能让该方法处理请求。
value:
指定请求的实际地址,指定的地址可以是URI Template模式
method:
指定请求的method类型, GETPOSTPUTDELETE
consumes:
指定处理请求的提交内容类型(Content-Type),如application/json,text/html;
produces:
指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回

2@ResponseBody

@Responsebody表示该方法的返回结果直接写入HTTP response body

一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,

加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。

比如异步获取json数据,加上@Responsebody后,会直接返回json数据。

 

3@RequestBodyHTTP请求正文插入方法中,使用适合的HttpMessageConverter将请求体写入某个对象。

 

 

4@Autowired注解,一般结合@ComponentScan注解,来自动注入一个ServiceDao级别的Bean 

 

 

 

(5)@Service

      一般用于修饰service层的组件

 

 

 

(6)@Data,用于实体类中get和set的方法的创建,用了它,就不用实现get和set方法了;

 

 

(7@Component:
泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

 

 

 

 

 

 

 

8@RequestParam:
用在方法的参数前面。

 

 

 

(9)@Transactional

Spring容器中,我们手工注解@Bean将被优先加载,框架不会重新实例化其他的 PlatformTransactionManager实现类。

然后在Service中,被 @Transactional注解的方法,将支持事务。如果注解在类上,则整个类的所有方法都默认支持事务。

对于同一个工程中存在多个事务管理器要怎么处理,如下图,就可以解决;

 

 

(10)参考的网站:

http://blog.csdn.net/catoop/article/details/50595702

http://www.cnblogs.com/m4tech/p/6610301.html

 

(11)总结:关于Springboot中的注解还有很多,这些是我在项目中遇到多处用到的地方,自我觉得很重要,很好的运用注解,可以很快提升编码的速度,好的编码习惯很重要,我在项目中就是因为不细心,测试的时候会有很多Bug,细心对于我们来说很重要,认真对待每一件事,相信我们都会很快成长的,加油!

原创粉丝点击