-
以下四个注解作用功能相同,区别在于标识位置
- @Component:以下三个注解都可以由该注解代替,因为他们都是@Component标识的
- @Service:标识业务层
- @Repository:标识DAO
- @Controller:标识控制层
-
@Autowired 和 @Resource 两者作用相同,可用于为类的属性、构造器、方法进行注值
- @Autowired:只按照Type 注入
- @Resource:默认按Name自动注入,也提供按照Type 注入
-
@Component 、 @Configuration 和 @Bean
- @Bean:主要用于方法上,有点类似于工厂方法,当使用了@Bean注解,我们可以连续使用多种定义bean时用到的注解,譬如用@Qualifier注解定义工厂方法的名称,用@Scope注解定义该bean的作用域范围,譬如是singleton还是prototype等。
- @Component 、 @Configuration区别:@Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例,而@Component返回的是不同的实例。
-
@RequestParam
- 将请求的参数绑定到方法中的参数上,有required参数,默认情况下,required=true,也就是改参数必须要传。如果改参数可以传可不传,可以配置required=false。
-
@PathVariable
- 该注解用于方法修饰方法参数,会将修饰的方法参数变为可供使用的uri变量(可用于动态绑定)
- 参数可以是任意的简单类型,如int, long, Date等等。Spring会自动将其转换成合适的类型或者抛出 TypeMismatchException异常。当然,我们也可以注册支持额外的数据类型。
- 支持使用正则表达式,这就决定了它的超强大属性,它能在路径模板中使用占位符,可以设定特定的前缀匹配,后缀匹配等自定义格式。
-
@RequestBody
-
指方法参数应该被绑定到HTTP请求Body上。
- @ResponseBody :
-
与@RequestBody类似,它的作用是将返回类型直接输入到HTTP response body中。
-
@ResponseBody在输出JSON格式的数据时,会经常用到。
-
@RestController 和 @Controller 区别
- @RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
-
@Value
- 通过配置文件或者直接将外部值注入Bean
-
@Profile
- 目的是多环境开发,表明在哪个环境下使用
-
@ControllerAdvice
- 全局异常处理
- 全局数据绑定
- 全局数据预处理
-
Spring常用注解
最新推荐文章于 2024-05-27 20:05:16 发布