0
点赞
收藏
分享

微信扫一扫

Spring Boot实战派----Spring Boot入门

进击的包籽 2022-03-10 阅读 218

Starter--开箱即用

Spring Boot为了简化配置,提供了非常多的starter,实现了开箱即用。

它先打包好与常用模块相关的所有JAR包,并完成自动配置,然后组装成Starter。这使得在开发业务代码时不需要过多关注框架配置,只需要关注业务逻辑即可。

通过在pom.xml添加依赖之后,使用@Autowired引入,即可使用。

URI与URL

URI(Universal Resource Identifier):统一资源标识符

URL():统一资源定位符

控制器

在Spring MVC中,控制器负责处理由DispatcherServlet接收并分发过来的请求。它把用户请求的数据通过业务处理层封装成一个Model,然后把Model返回给对应的View进行展示。

处理HTTP请求的方法

GET:获取资源

DELETE:删除资源,要判断是否成功

POST:提交资源

PUT:更新资源

PATCH:局部更新资源,比如更新一条数据的一个字段。

在方法中使用参数

//获取路径中的值,(http://localhost/article/123)
@GetMapping("article/{id}")
public ModelAndView getArticle(@PathVariable("id") Integer id){
//..........
}

//获取路径中的参数(http://localhost/user/?username=www)
@RequestMapping("/addUser")
public String addUser(String username){
//..........
}

//通过Bean接收HTTP提交的对象
public String addUser(UserModel user)

//用注解@ModelAttribute获取参数
@RequestMapping(value="addUser", method=RequestMethod.POST)
public String addUser(@ModelAttribute("user") UserModel user)

//通过HttpServletRequest接收参数
@RequestMapping("/addUser")
public String addUser(HttpServletRequest request){
    request.GETParameter("username");
}

//用@RequestParam绑定入参
@RequestParam(value="username", required=false)

//用@RequestBody接收JSON数据
@RequestMapping(value="addUser",method={RequestMethod.POST})
@ResponseBody
public void saveUser(@RequestBody List<User> users){
    
}


//上传文件MultipartFile
public String singleFileUpload(@RequestParam("file") MultipartFile file, RedirectAttributes redirectAttributes){
    
}


//上传图片
@PostMapping("/upload")
@ResponseBody
public Map<String,Object> singleFileUpload(@RequestParam("upload") MultipartFile file,RedirectAttributes redirectAttributes){

}

响应式编程Webflux

与Spring MVC不同,WebFlux不需要Servlet API,完全异步无阻塞,并且通过Reactor项目实现Reactive  Streams规范。

可以在有限资源的情况下提高系统吞吐量和伸缩性(不是提高性能)。这意味着在资源相同的情况下,WebFlux可以处理更多的请求(不是业务)。

WebFlux除支持RESTful Web服务之外,还可以用于提供动态HTML内容。

举报

相关推荐

0 条评论