@RequestMapping
用于将任意HTTP 请求映射到控制器方法上。
@RequestMapping表示共享映射,如果没有指定请求方式,将接收GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT所有的HTTP请求方式。
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping 都是HTTP方法特有的快捷方式@RequestMapping的变体,
分别对应具体的HTTP请求方式的映射注解。
@RequestMapping 注解可以在控制器类上和控制器类中的方法上使用。
在类的级别上的注解会将一个特定请求或者请求模式映射到一个控制器之上。之后你还可以另外添加方法级别的注解来进一步指定到处理方法的映射关系。
@RequestBody
用来接受到前端传过来的request body中的值
第一、使用@RequestBody接收数据的时候,前端的请求方法要使用post方式来进行提交;
第二、一个请求只能有一个RequestBody,也就是说,当一个方法中有两个参数的时候,最多只能有一个参数加@RequestBody注解用来接受request body中的参数;
第三、@RequestBody接受的参数是来自request body中也就是请求体。
一般用于处理非Content-Type:application/x-www-form-urlencoded编码格式的数据。比如application/json、application/xml等。
@ResponseBody
将Controller的方法返回的对象,通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。
@RequestParam
把请求中指定参数名称的值赋值给控制器中方法对应形参
@RequestParam接收的参数主要是来自request Header中,即请求头中。通常用于get请求。
@PathVariable
从URL路径上拿参数值
@Param
用于给参数命名
@Component
定义Spring管理Bean(也就是将标注@Component注解的类交由spring管理)
@AspectJ风格的切面可以通过@Compenent注解标识其为Spring管理Bean,而@Aspect注解不能被Spring自动识别并注册为Bean,必须通过@Component注解来完成
@Repository:
属于@Component扩展,被@Repository注解的POJO类表示DAO层实现,从而见到该注解就想到DAO层实现,使用方式和@Component相同;
@Service:
属于@Component扩展,被@Service注解的POJO类表示Service层实现,从而见到该注解就想到Service层实现,使用方式和@Component相同;
@Controller:
属于@Component扩展,被@Controller注解的类表示Web层实现,从而见到该注解就想到Web层实现,使用方式和@Component相同;
@Controller 和 @RestController
用于标示一个类是SpringMVC 的controller处理器,可以接受HTTP请求
1、使用@Controller的类,类中的方法可直接返回jsp、html 等视图页面,加上@ResponsBody则表示该方法返回String、json等实例对象数据
2、使用@RestController的类,则表示类中方法都是只返回实例型数据对象
@Configuration
用于声明一个IOC容器,把所有标记了@Bean注解的类注入到IOC容器中去。
<!--beans就是@Configuration注解 -->
<beans>
<!--bean 就是一个个@Component注解声明的类 -->
<bean></bean>
<bean></bean>
<bean></bean>
</beans>```