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.元注解
包含
(1)@Retention
它表示注解存在阶段是保留在源码(编译期),字节码(类加载)或者运行期(JVM中运行)。
(2)@Target
Target的英文意思是目标,使用@Target元注解表示我们的注解作用的范围就比较具体了,可以是类,方法,方法参数变量等
(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
在业务层的实现类中前一定要写这个注解,不然程序会执行出错