Goofish 二手交易平台 基于自研轻量级 Spring 框架的二手交易平台后端。
技术栈 核心框架:自研 IoC/AOP 容器
数据库:MySQL + Druid 连接池
缓存:Redis(Jedis)
消息队列:RabbitMQ
ORM:自定义注解 + BaseDAO
WebSocket:Jakarta WebSocket
其他:JWT、JavaMail、Kaptcha
项目结构 src/main/java/org/zunr1/ ├── annotation/ # 自定义注解(Component, Autowired, Transactional 等) ├── spring/ # 自研ioc/aop容器 ├── controller/ # Servlet 控制器 ├── dao/ # 数据访问层(BaseDAO + 各实体 DAO) ├── entity/ # 实体类 ├── event/ # MQ 事件对象 ├── filter/ # TokenFilter(JWT 认证) ├── model/ # DTO/VO/Result/PageResult ├── mq/ # RabbitMQ 生产者和消费者 ├── service/ # 业务逻辑层 │ ├── impl/ # 服务实现 │ └── product/ # 商品状态机处理器 ├── util/ # 工具类(DBUtil, JwtUtil, CacheUtil, MailUtil 等) └── websocket/ # WebSocket 聊天
快速开始
环境要求 JDK 17+ MySQL 8.0+ Redis RabbitMQ
数据库建表 参考docs文件夹的mysql_tables.md,里面有建表语句
配置文件 在src的resources里面的druid.properties.template,填入你的用户名和密码,去掉.template后缀即可 mail也同理 resources 文件夹的相关设置参考docs文件夹的resources.md的解释
redis配置 那个bat是我写给自己本机的redis启动脚本,不用管 然后如果你的redis有密码就在redis.properties里面修改就行 改成你的redis配置
tomcat 部署 确保 C:/goofish/uploads/ 目录存在或修改 UploadServlet 中的路径 需要配置静态资源映射到这个指定的目录
一些思考和设计决策暂时放在docs文件夹的QA.md里面
作者:zunr1