SpringBoot注解

1.@RestController

      在服务端应用程序状态和功能可以分成各种资源,每一个资源都使用URL 得到一个唯一的地址,所有资源都共享统一的接口,以便在客户端和服务器之间传输状态,使用的是标准的HTTP方法。比如:GET、PUT、POST 和 DELETE。

        @RestController注解,相当于将@Controller和@ResponseBody两个注解结合,返回的json数据时,就不用在方法前面加@ResponseBody注解,但如果使用@RestController,就不能返回jsp.html页面,视图解析器无法解析jsp.html页面.


2.@RequestMapping

        在SpringMVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理URL请求,相当于Servlet中在web.xml中配置

        写法:@RequestMapping("/borrow") 放在public class前面使用,

这样在url地址中:http://localhost:8080/acts/book/borrow  就可以找到当前界面。book是项目名称。


3.@Autowired

        自动导入,引入这个类。

        例:    @Autowired
                   private BorrowService borrowService;   引入BorrowService这个类。


4.@PostMapping("/bookborrow")

        映射一个POST请求,等价于@RequestMapping(value = “/bookborrow”,method = RequestMethod.POST),放在方法之前,此时的url地址为:http://localhost:8080/acts/book/borrow/bookborrow    book是项目名,borrow是类中@RequestMapping("/borrow"),bookborrow 是方法前@PostMapping("/bookborrow")

 该方法是一个没有返回值的方法

        除此之外,与之类似的还有:

                @GetMapping,处理get请求
                @PostMapping,处理post请求
                @PutMapping,处理put请求
                @DeleteMapping,处理delete请求


5.@RequestBody

        接收前端传递给后端的json字符串中的数据,请求体中的数据。使用@RequestBody接收数据时,一般都用POST方式进行提交,然后数据在后端的方法中被接收。写在参数中即可。

        在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个()

6.@Valid

        用于验证注解是否符合要求,在变量中添加验证信息的要求,当不符合要求时就会在方法中返回message 的错误提示信息。   

 其中,BorrowForm中就是信息验证数据。

@NotNull注解用来验证非空,被标注的列不能为空,如果为空,会提示message中的错误信息。 

     该方法就是通过@Valid注解引入BorrowForm类,进而判断前端传过来的数据是否符合标准。


7.@Alias()

        是MyBatis中的别名注解

        举个例子:

                @Alias("Book")

        在xml文件中的resultType="Book",里面所有的全路径对象都可替代为Book

这个注解我通常用在实体类中            


    

8.元注解

        包含

@ Retention
@Target
@Document
@Inherited
@ Repeatable JDK1.8加入)        

(1)@Retention

        它表示注解存在阶段是保留在源码(编译期),字节码(类加载)或者运行期(JVM中运行)。

(2)@Target

        Target的英文意思是目标,使用@Target元注解表示我们的注解作用的范围就比较具体了,可以是类,方法,方法参数变量等

通过 枚举类 ElementType 表达作用类型
@Target(ElementType.TYPE) 作用接口、类、枚举、注解
@Target(ElementType.FIELD) 作用属性字段、枚举的常量
@Target(ElementType.METHOD) 作用方法
@Target(ElementType.PARAMETER) 作用方法参数
@Target(ElementType.CONSTRUCTOR) 作用构造函数
@Target(ElementType.LOCAL_VARIABLE) 作用局部变量
@Target(ElementType.ANNOTATION_TYPE) 作用于注解( @Retention 注解中就使用该属性)
@Target(ElementType.PACKAGE) 作用于包
@Target(ElementType.TYPE_PARAMETER) 作用于类型泛型,即泛型方法、泛型类、泛型接口 ( jdk1.8 加入)
@Target(ElementType.TYPE_USE) 类型使用 . 可以用于标注任意类型除了 class jdk1.8 加入)
一般比较常用的是 ElementType.TYPE 类型

(3)@Document 将注解中的元素包含到 Javadoc 中去,HTML中有学到过

(4)@Inherited 继承,是一个被@Inherited注解了的注解修饰了一个父类,如果他的子类没有被其他注解修饰,则它的子类也继承了父类的注解。

(5)@Repeatable  被这个元注解修饰的注解可以同时作用一个对象多次,但是每次作用注解又可以代表不同的含义。


9.@Transactional

        开启事务管理, 当抛出异常时回滚当前更新处理。

@Transactional(propagation = Propagation.REQUIRED,  rollbackFor = {IOException.class, InvalidClassException.class}, noRollbackFor = {JsonMappingException.class})

其中:propagation是该属性用于设置事务的传播行为

           rollbackFor该属性用于设置需要进行回滚的异常类数组,当方法中抛出指定异常数组中的异常时,则进行事务回滚

           noRollbackFor该属性用于设置不需要进行回滚的异常类数组,当方法中抛出指定异常数组中的异常时,不进行事务回滚。


10.@Service

        在业务层的实现类中前一定要写这个注解,不然程序会执行出错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值