SpringBoot注解
@RestController and @ResquestMapping 是springmvc的注解,不是springboot特有的注解。
@RestController = @Controller + @ResponseBody
@SpringBootApplication = @SpringBootConfiguration + @EnableAutoConfiguration +@ComponentScan 其中 @SpringBootConfiguration=@Configuration
https://www.cnblogs.com/duanxz/p/7493276.html 里@Configuration作用讲的比较详细,就是相当于<beans>
https://www.getpostman.com/downloads/ 下载postman用于测试
https://blog.csdn.net/xsp_happyboy/article/details/80987484 用于解释自定义注解
@AliasFor 是注解的别名,像@RequestMapping中的value属性和path属性。https://blog.csdn.net/wolfcode_cn/article/details/80654730
@RequestParam是获取post参数。@PathVariable是获取URL中的参数,URL要是用{xxx}定义。
@RequestParam(value="paraName1",defaultvalue="1234",required=true) String para1
value是post表单里的name或者是get请求?后面的参数,也可以用name来定义。如果不传这个值就自动用1234。requeired是必填,如果表单里不传这个值,并且还没有定义defaultvalue,那么将会报错400,Bad Request
@PostMapping("/a/c") public Object getTest1(@RequestParam(value="n",required = true) String n1,@RequestParam(value="m",defaultValue = "1234") String m) { Map map = new HashMap(); map.put("n",n1); map.put("m",m); return map; }
//请求头需要是contet_type=application/json @RequestMapping("/a/d") public Object getTest2(@RequestBody User user) { //user.setAge(1); Map map = new HashMap(); map.put("user",user); return map; }
发送内容如下:
{
"name":"kevin1",
"password":"1234",
"age":23
}
返回内容如下:
{
"user": {
"name": "kevin1",
"password": "1234",
"age": 23
}
}
@RequestMapping(path="/aasdf/{user_id}",method = RequestMethod.GET) public Object findUser(@PathVariable("city_id") String cityId,@PathVariable("user_id") String userId) { mapPara.clear(); mapPara.put("cityId",cityId); mapPara.put("userId",userId); return mapPara; }
@RequestMapping("/a/e") public Object getTest3(@RequestHeader String token,@RequestParam(name="id") String id1) { Map map = new HashMap(); map.put("token",token); map.put("id1",id1); return map; }
@RequestMapping("/a/f") public Object test3(HttpServletRequest request) { String id = request.getParameter("id"); Map map = new HashMap(); map.put("id",id); return map; }
POST PUT DELETE 提交
package com.kevin.autogenproject.controller; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.Map; @RestController public class OtherHTTPController { @PostMapping("/b/a") public Object testPost(@RequestParam(name="a1") String a2) { Map map = new HashMap(); map.put("a2",a2); return map; } @PutMapping("/b/b") public Object testPut(@RequestParam(name="a1") String a2) { Map map = new HashMap(); map.put("a2",a2); return map; } @DeleteMapping("/b/c") public Object testDelete(@RequestParam(name="a1") String a2) { Map map = new HashMap(); map.put("a2",a2); return map; } }
jackjson里的一些注解
@JsonIgnore //在返回json时不返回这个字段 private String password; @JsonProperty("aggggge")//在返回json时显示agggge这个名字 @JsonInclude(Include.NON_NULL)//如果为空就不返回这个字段 private int age; @JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale = "zh",timezone = "GMT+8") //在返回json时格式化时间字符串 private Date createTime;
@RequestMapping("/test2") public Object testJson() { return new User("kevin","123456",12, new Date()); }
{ "name": "kevin", "createTime": "2219-02-25 05:01:02", "aggggge": 12 }
资源文件目录结构
resources
----META-INF
-----------------resources
----resources
----static 存放静态文件 js css image
----public
----templates 存放jsp html tpl
----config 存放application.properties
如果同一个文件在上面四个文件夹都存在,那么优先访问resources-META-INF-resources下的文件,如果删除这个目录下的文件。那么优先访问resources-resources下的文件,如果删除这个目录下的文件,则访问resources-static的文件,如果删除这个文件,则访问public。
官网地址:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-static-content
默认加载内容,在application.properties里添加:
spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/js/新添加的
<!DOCTYPE html>
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"/> <title>Title</title> </head> <body> <form enctype="multipart/form-data" method="post" action="/upload"> 文件名:<input type="file" name="img1"></input> 姓名: <input type="text" name="name"></input> <input type="submit" value="1"/> </form> </body> </html>
需要引入
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
在mvn install 时可以打成springboot形式的jar包,还可以自动生成mainfest文件。没有这个文件运行会报错 no mainfest attribute ,in xxx.jar
在application.properites中编辑web.images-path=D:/a 。注意一定是反斜杠/
在classpath中可以增加,file:${web.images-path}指定外部文件。 在D:/a 添加一个a.jpg。可以通过http://localhost:8080/a.jpg来访问。
相关推荐
《SpringBoot迷你实战指南》 在当今的Java开发领域,SpringBoot已经成为构建高效、便捷的企业级应用的首选框架。SpringBoot以其"约定优于配置"的理念,大大简化了Spring应用程序的初始搭建以及开发过程,使得开发者...
【SpringBoot基础知识】 Spring Boot是由Pivotal团队提供的全新框架,其设计目标是用来简化新Spring应用的初始搭建以及开发过程。它集成了大量的常用第三方库配置,如数据源、JPA、Security、WebSocket等,提供了...
《SpringBoot整合Swagger实战解析》 在现代的Web开发中,API文档的编写与管理是一项重要的任务,它有助于开发者理解接口的功能和用法。Swagger作为一款强大的API文档管理工具,可以自动化生成接口文档,极大地提高...
二、创建SpringBoot项目 在"springboot-01-helloworld"项目中,首先我们需要创建一个基于SpringBoot的Maven工程。Spring Initializr(https://start.spring.io/)是一个在线工具,可以帮助我们快速生成项目结构。...
第2章 相关技术介绍 3 2.1 MySQL数据库 3 2.2 Vue前端技术 3 2.3 B/S架构模式 4 2.4 ElementUI介绍 4 第3章 系统分析 5 3.1 可行性分析 5 3.1.1技术可行性 5 3.1.2经济可行性 5 3.1.3运行可行性 6 3.2 系统流程 6 ...
SpringBoot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、Redis、RabbitMQ、Quartz 等,使得开发者能够快速地创建一个...
第2章 相关技术介绍 3 2.1 MySQL数据库 3 2.2 Vue前端技术 3 2.3 B/S架构模式 4 2.4 ElementUI介绍 4 第3章 系统分析 5 3.1 可行性分析 5 3.1.1技术可行性 5 3.1.2经济可行性 5 3.1.3运行可行性 6 3.2 系统流程 6 ...
SpringBoot旨在简化Spring应用的初始搭建以及开发过程,它集成了大量常用的第三方库配置,如数据源、JPA、MVC、安全等,让我们能够快速构建起强大的Web应用。本篇将围绕"Springboot-demo"这一主题,深入剖析...
SpringBoot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地创建一个独立...
《Spring Boot安全实战:深入解析Spring Security》 Spring Security是Spring生态中用于处理应用程序安全性的强大框架,尤其在Spring Boot项目中,它提供了一种快速、灵活且强大的安全解决方案。本资料包...
SpringBoot是由Pivotal团队提供的全新框架,其设计目标是简化Spring应用的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如数据源、JPA、MVC、security等,提供了自动配置的"starter" POMs来简化构建配置...
《Spring Boot实战示例解析》 Spring Boot是Java领域中一款极为流行的框架,它通过简化配置、自动配置和一站式的解决方案,使得开发基于Spring的应用变得简单高效。本压缩包"spring-boot-examples-master.zip_gas4...
读书笔记:SpringBoot实战第二章Maven Demo
《SpringBoot实战(自带目录)第四版》是针对Java开发者的一本深度技术指南,主要聚焦于Spring Boot框架的使用和实践。Spring Boot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它...
【SpringBoot项目实战:springboot-project-3】 SpringBoot是由Pivotal团队提供的全新框架,其设计目标是用来简化新Spring应用的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如JPA、MVC、Swagger等,...
第二章可能会涉及SpringBoot的自动配置机制,解释如何自定义配置以及如何创建自己的自动配置类。此外,还可能讲解如何使用SpringBoot的属性配置文件(application.properties或application.yml)进行配置。 第三章...
在《Spring Boot实战》第四版中,作者深入浅出地讲解了Spring Boot的基础知识、核心特性和实际应用,为读者提供了一个全面的学习指南。 1. **Spring Boot简介** - **起步依赖(Starters)**:Spring Boot的核心...
《SpringBoot实战》这本书是为Java开发者提供的一份详尽且实用的SpringBoot技术指南。SpringBoot是由Pivotal团队开发的一个框架,旨在简化Spring应用的初始搭建以及开发过程,它集成了大量的常用第三方库配置,如...
本项目是一个基于SpringBoot2.0框架开发的秒杀系统,源于慕课网实战课程的升级方案。技术栈包括SpringBoot、Maven、Mysql数据库、Redis缓存、Thymeleaf模板引擎、RabbitMQ消息队列以及Druid数据库连接池。通过优化...
3 小结 18 第 2 章开发第一个应用程序 19 2 . 1 运用 Spring Boot 19 2 . 1 . 1 查看初始化的 Spring soot 新项目 21 21 . 2 Spring Boot 项目构建过程解析 24 2 . 2 使川起步依赖, 27 2 . 2 . 1 指定基于功能的...