Skip to content

Latest commit

 

History

History
85 lines (49 loc) · 3.24 KB

后端日常开发.md

File metadata and controls

85 lines (49 loc) · 3.24 KB

后端日常开发

启动容器

打开 powershell 命令行程序,在项目根目录下执行

docker-compose up -d

将启动数据库、执行数据库更新脚本、启动前端 nginx 服务和后端服务。

  • -d 表示在后台执行,我们在命令行上只能看到 Creating atjob_backend_1 ... done 的字样,它表示容器启动成功,但不表示容器内的后端服务已完成启动,要再等几分钟才行。要查看后端容器内的运行日志,可使用命令:

    docker-compose logs -f backend

    -f 参数表示 follow,会一直显示最新的运行日志,不会执行一次就退出。

  • 要验证后端服务是否启动成功,可访问 Swagger 在线文档: http://localhost:9003/swagger-ui.html

  • 使用命令 docker ps 可查看所有已启动的容器和它们暴露的端口号。

编写代码

在上一步使用 docker-compose up -d 启动容器后,再使用 docker-compose logs -f backend 监控日志输出,确认 Spring 框架启动完成(运行日志显示 Root WebApplicationContext: initialization completed in xxxxx ms)。不要关闭命令行程序。

使用你喜欢的 IDE 打开 atjob\backend 目录,修改任意一行代码,保存。稍待几秒钟,容器内的 Spring devtools 插件将检测到代码变更并自动重启 Spring 框架,可通过监控运行日志的输出确认这一点。

有些时候需要彻底重新编译所有后端代码,这时可使用命令

docker-compose up --build backend

该命令在重新编译源码并运行 Spring 服务后会一直显示运行日志,就无需再使用 docker-compose logs -f backend 命令了。

调试

一般情况下可使用 System.out.println() 向控制台输出信息的方式跟踪代码的运行状态。它往往比设置断点、单步调试更节省时间。

如果需要设置断点,虽然也有在 Docker 容器中调试的方法,但毕竟麻烦,还不如直接在本地调试。

  1. 在本地安装 Java11 和 Maven,不再赘述。

  2. 使用命令 docker-compose stop backend 停止后端容器。

  3. application.yml 中的数据源配置修改为:

    spring:
      datasource:
        url: jdbc:p6spy:oracle:thin:@127.0.0.1:9009/ORCLPDB1.localdomain
  4. 使用 mvn clean installmvn spring-boot:run 命令安装依赖、启动 Spring 服务。

  5. 访问 http://localhost:9003/swagger-ui.html#/%E6%9D%83%E9%99%90%E8%AE%A4%E8%AF%81/loginUsingPOST 测试用户登录 API 是否可成功执行。

  6. 停止第 4 步启动的 Spring 服务。使用你喜欢的 IDE 启动调试器,设置断点,开始调试。

在容器内使用 arthas

  1. 使用 docker-compose up -d 启动
  2. 使用 docker exec -it atjob_backend_1 bash 进入容器内部的 bash
  3. 在容器内,先 cd /opt/arthas/,再执行 java -jar arthas-boot.jar

在本地客户端连接数据库

如果需要从本地使用 PLSQL Developer 等客户端连接数据库:

  • IP:127.0.0.1

  • 端口号:9009

  • 数据库服务名:ORCLPDB1.localdomain

  • 用户名:atjob

  • 密码:atjob

配置代码风格检查

配置 java 代码风格检查