SpringBoot第一天
1.找不到最新Springboot相关包的问题,需要把远程仓库指向华为云,在maven的setting.xml中配置一下代码:
<mirror> <id>huaweicloud</id> <mirrorOf>*</mirrorOf> <url>https://mirrors.huaweicloud.com/repository/maven/</url> </mirror>
2.启动spring boot的启动类,出现下图表示SpringBoot启动成功:

3.SpringBoot 基本web应用开发:
(1).Lombok使用,导入如下依赖:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.6</version> </dependency>
(2).在实体bean使用:
package com.offcn.po; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data //get 、set toString @AllArgsConstructor //所有参数的有参数构造函数 @NoArgsConstructor //无参数构造函数 public class Car { private Integer id; private String name; private Float price; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date createdate; }
(3).SpringBoot 静态资源的访问问题:
①默认静态资源映射:

②自定义静态资源访问:
(第一种方式:配置类)
package com.offcn.springbootdemo.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class WebConfig implements WebMvcConfigurer { public void addResourceHandlers(ResourceHandlerRegistry registry){ //将所有E:\\a\\下的文件访问都映射到/test/** 路径下 //registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); registry.addResourceHandler("/test/**").addResourceLocations("file:E:\\a\\"); } }
(第二种方式:配置application.properties)
web.upload-path=E:/a/ spring.mvc.static-path-pattern=/** spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}
web.upload-path:这个属于自定义的属性,指定了一个路径,注意要以/结尾;
spring.mvc.static-path-pattern=/**:表示所有的访问都经过静态资源路径;
spring.resources.static-locations:在这里配置静态资源路径,前面说了这里的配置是覆盖默认配置,所以需要将默认的也加上否则static、public等这些路径将不能被当作静态资源路径,在这个最末尾的file:${web.upload-path}之所有要加file:是因为指定的是一个具体的硬盘路径,其他的使用classpath指的是系统环境变量。
4.WebJars:
在SpringBoot中,允许我们直接访问WEB-INF/lib下的jar包中的/META-INF/resources目录资源,即WEB-INF/lib/{*.jar}/META-INF/resources下的资源可以直接访问。
WebJars也是利用了此功能,将所有前端的静态文件打包成一个jar包,这样对于引用放而言,和普通的jar引入是一样的,还能很好的对前端静态资源进行管理。
WebJars是将web前端资源(如jQuery & Bootstrap)打成jar包文件。借助版本管理工具(Maven、gradle等)进行版本管理,保证这些Web资源版本唯一性。避免了文件混乱、版本不一致等问题。
5.SpringBoot属性配置:
修改全局配置文件application.properties的后缀为.yml
在application.yml添加以下记录:
server:
port: 8888
servlet:
context-path: /java01
ip:
1.1.1.1
port:
9999
userbody:
name: 张三
password: 123456
birthday: 1992.10.28
mobile: 13802789765
address: 北京市朝阳区
需要通过访问http://localhost:8888/java01才能正常访问
同时还可以自定义属性及读取(编写Controller代码):
package com.offcn.springbootdemo.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestConfig { /*@Value("${ip}") private String ip; @Value("${port}") private String port; @GetMapping("getValue") public String getValue(){ return "ip:"+ip+"port:"+port; }*/ }
访问http://localhost:8888/java01/getValue得到下图:

6.SpringBoot构建RESTful API
(1).RESTful介绍
RESTful是一种软件架构风格!
RESTful架构风格规定,数据的元操作,即CRUD(create, read, update和delete,即数据的增删查改)操作,分别对应于HTTP方法:
GET用来获取资源,
POST用来新建资源(也可以用于更新资源),
PUT用来更新资源,
DELETE用来删除资源,
这样就统一了数据操作的接口,仅通过HTTP方法,就可以完成对数据的所有增删查改工作
(2).RESTful接口设计
|
HTTP协议请求方法 |
SpringBoot注解 |
URL |
功能说明 |
|
POST |
@PostMapping |
/users |
创建一个用户 |
|
GET |
@GetMapping |
/users |
查询用户列表 |
|
GET |
@GetMapping |
/users/id |
根据id查询一个用户 |
|
PUT |
@PutMapping |
/users/id |
根据id更新一个用户 |
|
DELETE |
@DeleteMapping |
/users/id |
根据id删除一个用户 |
浙公网安备 33010602011771号