Skip to content

Latest commit

 

History

History
executable file
·
242 lines (165 loc) · 5.51 KB

README-zh.md

File metadata and controls

executable file
·
242 lines (165 loc) · 5.51 KB

React-SpringBoot

FOSSA Status

桌面显示

Desktop

最近,我花费了不少时间将性能得分从 50 多升到了 90 分。目前的体验和响应速度都有了很大的提升。

Page Test Insights

手机显示

Mobile

访问数

visitor

克隆项目

后端项目地址:React-SpringBoot 前端项目地址:movie-helper-front

# cd React-SpringBoot/
git clone https://github.com/zzh1991/movie-helper-front.git

🚀 使用

支持 Java 17 和 Spring Boot 3

# 添加 VM options
--add-opens java.base/java.lang.invoke=ALL-UNNAMED

启动应用

配置数据库

src/main/resources/application.yml 中配置数据库用户名,密码和数据库名

你可以使用 PostgreSQL(默认配置)或者 MySQL 数据库。另外,你也可以使用 H2 数据库。

MySQL 配置
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/movie?allowPublicKeyRetrieval=true&useConfigs=maxPerformance&useSSL=false&serverTimezone=UTC&characterEncoding=utf8
    password: mysql
    username: root
    initialization-mode: never

  flyway:
    enabled: true
    baseline-on-migrate: true
    validate-on-migrate: false
    locations: classpath:db/migration/mysql

在 pom.xml 文件中删除 postgres 依赖,并添加 mysql 依赖

<!-- remove -->
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
</dependency>

<!-- add -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

配置前端依赖

  • cd movie-helper-front:切换到前端文件夹
  • npm install: 安装前端依赖
  • 启动前端
    • 开发模式
      • npm run start
    • 生产部署模式
      • npm run deploy
  • 在 IDE 中启动应用
  • 打开浏览器

更新前端代码

cd movie-helper-front
git fetch origin master
git rebase origin/master

生成 Java API 文档

mvn javadoc:javadoc

打开 target/site/apidocs/index.html 进行访问

参考

代办事务

提升

  • 同步最新/TOP100 电影
  • 添加最近同步的时间
  • 根据电影名称进行搜索
  • 使用最新的 PostgresQL
  • 定时任务
  • Java 文档
  • 懒加载
  • 使用带时区的时间戳格式

依赖技术

后端技术

  • Spring Boot 2.3
  • PostgresQL 12
  • Guava
  • Spring fox Swagger
  • Flyway 6
  • Prometheus
  • GraphQL
  • Mybatis
  • Mybatis-plus

应用网址

Swagger UI

监控网址

GraphiQL 网址

配置

Intellij IDEA 热部署

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>
  • setting -> compiler -> make project automatically
  • ctrl + shift + a -> registry -> auto make enabled

使用 dev 配置文件启动项目

  1. 修改启动项 run/debug 配置
  2. 增加环境变量: spring.profiles.active=dev

依赖版本管理

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>versions-maven-plugin</artifactId>
</plugin>

显示依赖的版本更新

mvn versions:display-dependency-updates

升级依赖版本

mvn versions:use-next-releases

mvn versions:use-latest-releases

问题

从 flyway 3.x 迁移到 5.x 出错

首先将版本升到 4.2.0 然后再升到 5.x

H2 数据库与 druid 有冲突?

Mybatis timestamptz 不能转化成 timestamp 类型?

参考 mybatis/mybatis-3#1644

  1. 复制 LocalDateTimeTypeHandler.java 到项目中
  2. 配置 LocalDateTimeTypeHandler bean

作者

👤 Zhihao Zhang

点赞👍支持

如果本项目对你有所帮助,请 ⭐️ 本项目吧!

📝 许可证

Copyright © 2024 zzh1991.
本项目许可证为 MIT.