关于java:Spring-Boot-注解总结1

37次阅读

共计 2115 个字符,预计需要花费 6 分钟才能阅读完成。

1.@SpringBootApplication:
蕴含 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan 通常用在主启动类上,目标是开启 spring 主动配置。
其中:
@SpringBootConfiguration:继承自 @Configuration,二者性能也统一,标注以后类是配置类,并会将以后类内申明的一个或多个以 @Bean 注解标记的办法的实例纳入到 spring 容器中,并且实例名就是办法名。

@EnableAutoConfiguration:借助 @Import 的反对,收集和注册特定场景相干的 bean 定义。

@ComponentScan:是主动扫描并加载符合条件的组件(比方 @Component 和 @Repository 等)或者 bean 定义,最终将这些 bean 定义加载到 IoC 容器中。@ComponentScan 通知 Spring 哪个 packages 的用注解标识的类 会被 spring 主动扫描并且装入 bean 容器。
例如,如果你有个类用 @Controller 注解标识了,那么,如果不加上 @ComponentScan,主动扫描该 controller,那么该 Controller 就不会被 spring 扫描到,更不会装入 spring 容器中,因而你配置的这个 Controller 也没有意义。

2.@Controller 和 @RestController
@RestController:
用于标注管制层组件 (如 struts 中的 action),蕴含 @Controller 和 @ResponseBody。
@Controller:
用于标注是管制层组件,须要返回页面时请用 @Controller 而不是 @RestController。

3.@Service:
用于标注业务层组件。

4.@Component:
泛指组件,当组件不好归类的时候,咱们能够应用这个注解进行标注。

5.@ResponseBody:
示意该办法的返回后果间接写入 HTTP response body 中,个别在 异步 获取数据时应用,在应用 @RequestMapping 后,返回值通常解析为跳转门路,加上 @responsebody 后返回后果不会被解析为跳转门路,而是间接写入 HTTP response body 中;比方异步获取 json 数据,加上 @responsebody 后,会间接 返回 json 数据

6.@RequestBody:
参数前加上这个注解之后,认为该参数必填。示意承受 json 字符串转为对象、List 等。

7.@Bean:
相当于 XML 中的, 放在办法的下面,而不是类,意思是产生一个 bean, 并交给 spring 治理;

8.@AutoWired:
byType 形式。把配置好的 Bean 拿来用,实现属性、办法的组装,它能够对类成员变量、办法及构造函数进行标注,实现主动拆卸的工作。当加上(required=false)时,就算找不到 bean 也不报错。
@Qualifier:
当有多个同一类型的 Bean 时,能够用 @Qualifier(“name”)来指定。与 @Autowired 配合应用;
@Resource(name=”name”,type=”type”)
没有括号内内容的话,默认 byName。与 @Autowired 干相似的事;

9.@RequestMapping:
RequestMapping 是一个用来解决申请地址映射的注解,可用于类或办法上。用于类上,示意类中的所有响应申请的办法都是以该地址作为父门路。
该注解有六个属性:
params: 指定 request 中必须蕴含某些参数值是,才让该办法解决。
headers: 指定 request 中必须蕴含某些指定的 header 值,能力让该办法解决申请。
value: 指定申请的理论地址,指定的地址能够是 URI Template 模式
method: 指定申请的 method 类型,GET、POST、PUT、DELETE 等
consumes: 指定解决申请的提交内容类型(Content-Type),如 application/json,text/html;
produces: 指定返回的内容类型,仅当 request 申请头中的 (Accept) 类型中蕴含该指定类型才返回。

@GetMapping、@PostMapping等:
相当于 @RequestMapping(value=”/”,method=RequestMethod.GetPostPutDelete 等)。是个组合注解。

10.@RequestParam:
用在办法的参数后面。相当于 request.getParameter()。

11.@RequestParam@PathVariable
传统来讲,必定是两种形式为主,一种是 GET,一种是 POST,这两种形式都是向一个 URL 传参 GET 形式体现到了地址栏里,POST 形式将内容放在了 body 里。
@RequestParam 和 @PathVariable 注解是用于从 request 中接管申请的,两个都能够接管参数,关键点不同的是 @RequestParam 是从 request 外面拿取值,而 @PathVariable 是从一个 URI 模板外面来填充

正文完
 0