# news-db **Repository Path**: del-space/news-db ## Basic Information - **Project Name**: news-db - **Description**: 新闻发布系统(实战三个中间件) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-22 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 新闻发布系统 这是一个基于Spring Boot的新闻管理系统,支持新闻的发布、搜索和同步功能。系统使用了Elasticsearch进行新闻内容搜索,RabbitMQ进行消息队列处理,Redis进行缓存管理。 ## 主要功能 - 新闻发布和管理 - 新闻内容全文搜索 - 消息队列处理新闻同步 - Redis缓存管理 ## 技术栈 - Spring Boot - MyBatis Plus - Elasticsearch - RabbitMQ - Redis ## 模块说明 - **NewsReleaseSystemApplication**: 系统启动类 - **NewsController**: 提供REST API接口 - **NewsService**: 新闻业务逻辑处理 - **NewsMapper**: 数据库访问层 - **NewsEsIndexService**: Elasticsearch索引服务 - **NewsSyncConsumer**: RabbitMQ消息消费者 ## 运行环境 - Java 8+ - Spring Boot 2.x - Elasticsearch 7.x - RabbitMQ 3.8+ - Redis 5.x ## 配置文件 application.yml中包含以下主要配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/news_db?useSSL=false&serverTimezone=UTC username: root password: root redis: host: localhost port: 6379 rabbitmq: host: localhost port: 5672 username: guest password: guest elasticsearch: rest: uris: http://localhost:9200 ``` ## 使用说明 1. 创建MySQL数据库并运行提供的SQL脚本 2. 启动Elasticsearch服务 3. 启动RabbitMQ服务 4. 启动Redis服务 5. 运行NewsReleaseSystemApplication启动项目 ## API文档 - GET /list: 获取所有新闻列表 - GET /news/{id}: 获取指定ID的新闻详情 - GET /search: 根据关键词搜索新闻 - POST /publish: 发布新闻 - DELETE /news/{id}: 删除新闻 - PUT /news/{id}: 更新新闻 ## 前端页面 项目包含简单的HTML前端页面,位于src/main/resources/static目录下,包含以下文件: - index.html: 主页面 - js/app.js: 前端逻辑处理 - css/style.css: 样式文件 ## 测试 使用@SpringBootTest进行集成测试,确保应用上下文能够正常加载。 ## 注意事项 - 确保所有依赖服务(RabbitMQ、Redis、Elasticsearch)已启动 - 根据实际环境修改application.yml配置 - 首次启动会自动创建Elasticsearch索引 - 使用RabbitMQ进行异步消息处理,确保消息可靠投递