Java听潮阁(SpringCloud项目)

一、简介

本网站是不凉域网络技术工作室的后台管理网站和旗下的网站(目前只有Java听潮阁),后台管理网站具有统计旗下所有网站的数据功能,并且能直接对旗下所有网站进行管理。

Java听潮阁网站是一个Java书籍网站,名字拟取自《雪中悍刀行》的听潮亭,剑神李淳罡(天不生我李淳罡,剑道万古如长夜)在听潮亭待了二十年,出来游历后实力直上陆地天人境,希望所有Java技术人员历经乏味的学习后都能有所突破,该项目主要具有微信支付、预览pdf电子书籍和下载pdf书籍的功能,祝各位码运昌隆!

二、项目搭建

1、MySQL数据库表

在sql文件夹中,包含有blywl.sql的数据库脚本,数据编码为utf-8,可自行导入navicat中。

一共有9个数据库表,每个表中都有一些初始数据,有需要的可自定义。

其中book_info中的书籍url数据是将电子书pdf文件数据上传到minio中,获取其文件访问路径,java电子书籍可以百度查找或者爬取,这里附带了几本pdf电子书可以测试用,还附带了使用python3.6截取pdf的脚本文件。

2、后端项目

在每个模块的yaml配置文件中需要修改自己的nacos配置中心地址。

导入nacos配置文件,其中的各个属性参数可以自行修改。

3、前端项目

两个都是Vue2项目,一个是后台管理的ui,一个是Java听潮阁的ui

三、后台管理系统

后台管理系统只有管理员可以登录,不仅能统计各个子网站数据,还能对各个子网站数据进行管理、处理和统计。

1、后端技术架构

(1)依赖版本
jdk MySQL spring-boot spring-cloud-alibaba spring-cloud-alibaba-dependencies nacos-client java-jwt
1.8 8.0 2.6.13 2021.0.5.0 2.2.0.RELEASE 1.4.1 3.18.2
hutool-all mybatis-plus spring-cloud-starter-openfeign spring-cloud-loadbalancer minio
5.7.20 3.4.2 3.1.5 3.1.5 7.0.2
org.apache.poi wechatpay-apache-httpclient
4.1.2 0.3.0
(2)功能架构

后台管理系统的功能架构:

2、前端开发

(1)依赖版本
node npm vue element-ui vue-router axios
16.13.2 8.1.2 ^2.6.14 ^2.15.13 ^3.5.1 ^1.4.0
(2)项目展示

四、Java听潮阁

1、后端技术架构

(1) 依赖版本
jdk MySQL spring-boot spring-cloud-alibaba spring-cloud-alibaba-dependencies nacos-client java-jwt
1.8 8.0 2.6.13 2021.0.5.0 2.2.0.RELEASE 1.4.1 3.18.2
hutool-all mybatis-plus spring-cloud-starter-openfeign spring-cloud-loadbalancer minio
5.7.20 3.4.2 3.1.5 3.1.5 7.0.2
spring-cloud-starter-gateway wechatpay-apache-httpclient
3.1.6 0.3.0
(2) 功能架构

Java听潮阁系统的功能架构:

(3) 技术栈架构

SpringBoot+MySQL+MyBatis-plus+MD5加密+JWT+Redis+Nacos+gateway+Feign+Sentinel+Minio+微信支付Native的apiV3+QQ邮箱发送验证码

2、前端开发

(1)依赖版本

node npm vue element-ui vue-router axios
16.13.2 8.1.2 ^2.6.14 ^2.15.13 ^3.5.1 ^1.4.0
core-js vue-pdf vue-qriously
^3.8.3 ^4.2.0 ^1.1.1

(2)项目展示

1.PC端
2.App端

五、项目部署

打包成jar包后使用linux系统的docker容器部署项目,详细可见:Docker部署jar包的方式及详解_docker build jar-CSDN博客

1、打包jar注意点

由于此项目分为多个模块,而且各模块之间有一定的关联,打包成jar包时要注意,必须先clean清除一遍缓存,再把共有模块common打包package后引入各个项目中,然后install父模块,再对子模块package,否则会出现 " 程序包XXX.XXX不存在 " 的情况。

当然,如果所有步骤都没问题,编译正常,就是运行和打包时识别不到某个包,这就是IDEA本身的问题了(特别是2023以前的版本常有),需要退出手动删除.idea文件夹后重新打开。

打包好后要先cmd运行一遍再去服务器部署,因为已经使用了nacos远程配置,可能会出现cmd编码和nacos远程配置文件的编码冲突,因此,cmd运行时要统一编码:

复制代码
java -jar -Dfile.encoding=utf-8 ***.jar

2、docker部署jar注意点

其他的项目部署查看 Docker部署jar包的方式及详解_docker build jar-CSDN博客 即可,但是需要注意的是微信支付模块,它需要引入pem密钥文件,所以它的Dockerfile文件得多加一行引入密钥文件。

拒绝白嫖,需要的可以+V: buliangshuai01033

相关推荐
咖啡八杯9 小时前
GoF设计模式——解释器模式
java·后端·spring·设计模式
优橙教育9 小时前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
糖果店的幽灵10 小时前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents
腻害兔11 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:字典、短信、邮件、通知——后台系统的“基础设施四件套“!
java·前端·vue.js·产品经理·ai编程
碎光拾影11 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库
Miao1213112 小时前
微服务 API 测试实践:海外某民宿平台如何构建模式驱动测试基础设施
java·开发语言
腻害兔12 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:支付模块 yudao-module-pay,一个让产品经理都看懂的支付中台设计
java·前端·vue.js·产品经理·ai编程
CRMEB系统商城13 小时前
开源自建还是SaaS订阅?算一笔3年经济账
java·大数据·开发语言·开源
keyipatience15 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
weixin_4080996715 小时前
2026 图片去水印 API 接口完全指南:一键去除图片水印(附 Python/Java/PHP/C# 示例)
java·python·php·图片处理·api调用·图片去水印·石榴智能