欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识
原文出处: oKong

媒介

之前几个章节,大部门都是算先容springboot的一些外围设置,好比日志设置等。这章节开始,开始总结一些关于springboot的综合开拓的常识点。由于SpringBoot自己是基于SpringSpringMvc等种种spring家属的一个办理方案,可快速举办荟萃。故相关常识点其实大部门都是基于spring可能springmvc既有的常识点的。本章节,主要讲授的是关于web开拓springboot独占的一些常用注解举办说明。

常用注解

@SpringBootApplication

前几章,在系统启动类内里,都插手了此启动注解,此注解是个组合注解,包罗了@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan注解。

  • @SpringBootConfiguration 担任至@Configuration,对付熟悉spring的开拓者而言,此标注当前类是设置类,并会将当前类内声明的一个或多个以@Bean注解标志的要领的实例纳入到srping容器中,而且实例名就是要领名。
  • @EnableAutoConfiguration 这个注解就是springboot能自动举办设置的邪术地址了。主要是通过此注解,能所有切合自动设置条件的bean的界说加载到spring容器中,好比按照spring-boot-starter-web ,来判定你的项目是否需要添加了webmvctomcat,就会自动的帮你设置web项目中所需要的默认设置。详细的利用,会在后期自界说实现一个自动启动类时,会讲授到它的一些机制。此章节就不深入了,只需要它是这个用途即可,一般上也单独利用不要这个注解,但好比需要解除一些无需自动设置的类时,可操作exclude举办解除。
  • @ComponentScan 这个熟悉spring的开拓者也应该熟悉,会扫描当前包及其子包下被@Component,@Controller,@Service,@Repository等注解标志的类并纳入到spring容器中举办打点。
  • @Controller 和 @RestController

    @RestController 是Spring4之后插手的注解,本来在@Controller中返回json需要@ResponseBody来共同,假如直接用@RestController替代@Controller就不需要再设置@ResponseBody,默认返回json名目。而@Controller是用来建设处理惩罚http请求的工具,一般团结@RequestMapping利用。

    @RequestMapping

    一个用来处理惩罚请求地点映射的注解,可用于类或要领上。用于类上,昆山软件公司,暗示类中的所有响应请求的要领都是以该地点作为父路径。

    常用属性(摘抄至网络):

  • value, method;
    value: 指定请求的实际地点,指定的地点可以是URI Template 模式(后头将会说明);
    method: 指定请求的method范例, GET、POST、PUT、DELETE等;
  • consumes,produces;
    consumes: 指定处理惩罚请求的提交内容范例(Content-Type),譬喻application/json, text/html;
    produces: 指定返回的内容范例,仅当request请求头中的(Accept)范例中包括该指定范例才返回;
  • params,headers;
    params: 指定request中必需包括某些参数值是,才让该要领处理惩罚。
    headers: 指定request中必需包括某些指定的header值,才气让该要领处理惩罚请求。
  • 常用的根基上就valuemethod了。其简化注解有

    @GetMapping 等同于 @RequestMapping(method = RequestMethod.GET)
    @PostMapping 等同于 @RequestMapping(method = RequestMethod.POST)
    @PutMapping 等同于 @RequestMapping(method = RequestMethod.PUT)
    @DeleteMapping 等同于 @RequestMapping(method = RequestMethod.DELETE)
    @PatchMapping 等同于 @RequestMapping(method = RequestMethod.PATCH)

    @RequestBody和@ResponseBody

  • @RequestBody注解答允request的参数在reqeust体中,经常团结前端POST请求,举办前后端交互。
  • @ResponseBody注解支持将的参数在reqeust体中,凡是返回json名目给前端。
  • @PathVariable、@RequestParam、@RequestAttribute

  • @PathVariable用来吸收参数,如/path/001,可吸收001作为参数
  • 譬喻app <a href=昆山软件开拓 lication/json" class="aligncenter size-full wp-image-29394" title="98611402" src="/uploads/allimg/c180804/153332B2402E0-130S.png" />

  • @RequestParam 用来吸收URL中的参数,如/param?id=001,可吸收001作为参数
  • 譬喻app <a href=昆山软件开拓 lication/json" class="aligncenter size-full wp-image-29395" title="44090792" src="/uploads/allimg/c180804/153332B2405V0-26209.png" />

  • @RequestAttribute用于会见由过滤器或拦截器建设的、预先存在的请求属性,结果等同与request.getAttrbute().
  • 譬喻app <a href=昆山软件开拓 lication/json" class="aligncenter size-full wp-image-29396" title="29551202" src="/uploads/allimg/c180804/153332B2411950-31H4.png" />

    @Component、@Service、@Repository