# lmk-ms **Repository Path**: lmk-code/lmk-ms ## Basic Information - **Project Name**: lmk-ms - **Description**: 基于Spring Cloud的微服务开发框架 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2022-01-28 - **Last Updated**: 2025-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Laomake Micro Service Framework Laomake Micro Service Framework(简称:lmk-ms)致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 通过 lmk-ms,只需要添加一些注解和少量配置,就可以迅速搭建分布式应用系统。 详细文档请查看 [架构设计](doc/architecture.md) [使用手册](doc/manual.md) 。 ### 基础环境 - Java 开发环境:JDK 17 - Spring Boot:3.1.0 - Spring Cloud:2022.0.3 - Spring Cloud Alibaba:2022.0.0.0-RC2 ### 快速开始:创建项目 创建基于Maven的项目,基本结构类似于: ``` lmk-ms-demos ├─demo-parent ├─demo-common ├─demo-feign-client ├─srv-demo-admin ├─srv-demo-api ├─srv-demo-gateway └─web-demo-site ``` - `demo-parent` 模块是基础的父模块,用于定义组件依赖; - `demo-common` 是通用模块; - `demo-feign-client` 是公共的Feign客户端定义; - `srv-**` 代表Java后台服务 - `web-**` 代表前端项目 - `srv-demo-gateway` 是网关服务 ### 导入依赖 `demo-parent` 父模块继承 `ms-parent` 模块: ```xml com.lmk.ms ms-parent 1.1-SNAPSHOT 1.1-SNAPSHOT ``` ### 业务模块 #### Spring Boot 模块 如果只是创建基本的 Spring boot 模块,不需要Spring Cloud 功能,可以在业务模块中添加依赖: ```xml com.lmk.ms ms-starter-web ``` 然后,就可以使用Spring Boot中的基础功能了。 #### Spring Coud 模块 创建 Spring Cloud 微服务模块,需要导入依赖: ```xml com.lmk.ms ms-starter-cloud ``` 默认使用 `Nacos` 作为注册中心,需要在 `resources` 目录下添加配置文件:`bootstrap.yml`、`application.yml` 在 `bootstrap.yml` 文件中,添加注册中心配置,示例: ```yaml spring: application: name: DemoAdminService profiles: active: dev cloud: nacos: discovery: enabled: true group: ms-demo server-addr: dev.rk.com:8848 config: enabled: true group: ms-demo server-addr: dev.rk.com:8848 file-extension: yaml sentinel: transport: dashboard: dev.rk.com:8080 ``` #### 网关模块 网关模块基于Spring Cloud Gateway构建,需要导入依赖: ```xml com.lmk.ms ms-starter-gateway com.lmk.ms ms-starter-data ``` ## 演示 Demo 演示如何使用 数据库:`lmk_ms_demo` 数据表: **MySQL** ```sql CREATE TABLE `ms_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `username` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名', `salt` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '混淆密钥', `password` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', `nickname` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '昵称', `mobile` varchar(14) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机', `status` int(11) NOT NULL DEFAULT '1' COMMENT '状态:-1.删除,0.停用,1.正常', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `ms_goods` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `title` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题', `image` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '主图', `images` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '缩略图', `content` text COLLATE utf8mb4_unicode_ci COMMENT '详情', `price` decimal(10,2) NOT NULL COMMENT '价格', `status` int(11) NOT NULL DEFAULT '1' COMMENT '状态:-1.删除,0.下架,1.正常', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` **PostgreSQL** ```sql CREATE TABLE ms_user ( id SERIAL NOT NULL, username varchar(32) NOT NULL, salt varchar(32) NOT NULL, password varchar(64) NOT NULL, nickname varchar(32) DEFAULT NULL, mobile varchar(14) DEFAULT NULL, status integer NOT NULL DEFAULT '1', PRIMARY KEY (id) ); COMMENT ON COLUMN ms_user.id IS '主键'; COMMENT ON COLUMN ms_user.username IS '用户名'; COMMENT ON COLUMN ms_user.salt IS '混淆密钥'; COMMENT ON COLUMN ms_user.password IS '密码'; COMMENT ON COLUMN ms_user.nickname IS '昵称'; COMMENT ON COLUMN ms_user.mobile IS '手机'; COMMENT ON COLUMN ms_user.status IS '状态:-1.删除,0.停用,1.正常'; CREATE TABLE ms_goods ( id SERIAL NOT NULL, title varchar(128) NOT NULL, image varchar(128) DEFAULT NULL, images varchar(512) DEFAULT NULL, content text, price decimal(10,2) NOT NULL, status integer NOT NULL DEFAULT '1', PRIMARY KEY (id) ); COMMENT ON COLUMN ms_goods.id IS '主键'; COMMENT ON COLUMN ms_goods.title IS '标题'; COMMENT ON COLUMN ms_goods.image IS '主图'; COMMENT ON COLUMN ms_goods.images IS '缩略图'; COMMENT ON COLUMN ms_goods.content IS '详情'; COMMENT ON COLUMN ms_goods.price IS '价格'; COMMENT ON COLUMN ms_goods.status IS '状态:-1.删除,0.下架,1.正常'; ```