Spring Boot
SpringBoot,目前主流的开发框架,对于繁琐的 SSM 开发,做了极大的简化
基本操作
新建 Springboot
对于 SpringBoot 工程的新建,强烈推荐 IDEA,其中的 Spring Initializr 选项,一键新建
在选取服务器 URL 时,不建议更换为阿里的镜像地址,而是采用原生的 start.spring.io
,这是为了 SpringBoot 工程的结构规范考虑
其它的诸如类型、语言、打包等,自行选择,并在之后的菜单栏中选择需要添加的依赖
接收参数
参数的接收,简单而又重要的一部分,这里一一介绍
-
@PathVariable
:动态的接收参数,{} 中的参数与形式参数保持一致http://localhost:8080/index/122
@RequestMapping("/index/{id}") @ResponseBody public String index(@PathVariable(value = "id") String id) { return "id:" + id; } 复制代码
-
@RequestParam
:动态的接收参数,由注解参数与传入参数绑定,不必形参http://localhost:8080/index?id=122
@RequestMapping("/index") @ResponseBody public String index(@RequestParam("id") String name) { return "id:" + name; } 复制代码
-
无注解传参:直接将形参与传入的参数进行映射
http://localhost:8080/index?id=122&name=周默
@RequestMapping("/index") @ResponseBody public String index(String id, String name) { return id + ":" + name; } 复制代码
-
HttpServletRequest 传参:参数通过 HttpServletRequest 作用域传递
http://localhost:8080/index?id=122
@RequestMapping("/index") @ResponseBody public String index(HttpServletRequest request) { String id = request.getParameter("id"); return "id:" + id; } 复制代码
上述的两个注解,都可以接收动态的参数,不同的是。@PathVariable 使用 /
分隔参数,而 @RequestParam 使用 ?
;另外,这两个注解,都可以使用注解的内置参数与请求参数绑定,形参可以任意
配置文件
SpringBoot 提供了两种配置文件,分别为 properties、yml 格式。默认是采用 properties,这里采用 yml 格式叙述
另外,对于这两种格式的配置文件,yml 文件的优先级大于 properties 文件。下述,具体介绍的是,如何读取 SpringBoot 的配置文件
Person:
name: 周默
复制代码
@Controller
@PropertySource(value = {"classpath:application.yml"}, encoding = "UTF-8")
public class indexController {
@Value("${Person.name}")
private String name;
}
复制代码
对于配置文件,在读取中文时,可能会存在乱码的问题。对此,我的解决方案如下(各不相同,仅供参考)
- 文件 -> 设置 -> 编辑器 -> 文件编码,更改属性文件的默认编码为 UTF-8,并且勾选
自动转换成 Ascii 但显示原生的内容
- 删除原有的配置文件,重新拷贝一份。也可以选择删除配置项,再粘贴回去,核心是重新书写中文相关的配置项
目前,我的问题由上述的两个步骤,成功的得到了解决
多坏境配置
Profile,环境!
对于SpringBoot构建的项目,可以根据环境的不同,切换各自的配置文件
applcation.properties
application-dev.properties
application-test.properties
application-prod.properties
复制代码
在 Maven 的资源目录中,新建上述的四个配置文件,分别代表着主配置文件、开发环境、测试环境、生产环境。对于 properties、yml,根据个人的喜好与使用场景吧,下面还是使用 yml 介绍多环境的配置
applcation.yml
优先读取,也是在其中指定实际应用的配置文件,如下所示
# 主配置
spring:
profiles:
active: dev
server:
port: 10100
---
# 开发环境
server:
port: 9090
spring:
config:
activate:
on-profile: dev
---
# 测试环境
server:
port: 7070
spring:
config:
activate:
on-profile: test
复制代码
多个场景的配置文件写在了一起,以 ---
做分割。当然,若是配置项极多,可以拆分文件。在上述的配置文件中,主配置文件,指定 dev 为当前使用的配置文件,所以服务端口为 9090
热部署
对于热部署,想必不会陌生,这里介绍热部署在 SpringBoot 中的实现
在 pom.xml 文件中,引入依赖,也可以在新建 SpringBoot 项目时,勾选添加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
复制代码
另外,别忘了 pom.xml
中插件的配置。默认的 Maven 工程中,不会做这方面的设置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
复制代码
若是使用 IDEA 工具,还需做如下的设置
- 文件 -> 设置 -> 构建、执行、部署 -> 编译器,勾选
自动构建项目
对于 SpringBoot 热部署的实现,存在着多种方式,甚至可以通过第三方的 IDEA 插件进行
最后
一些 SpringBoot 的常用操作,下次一定
作者:哈麻昂天
链接:https://juejin.cn/post/6993299144622211086