| | |
| | | # 关于项目 |
| | | # 1.关于项目 |
| | | |
| | | 1. 该项目使用开源项目进行二开,仓库地址:https://github.com/lilishop?tab=repositories |
| | | 2. 使用的版本是:4.4,对应的sql在:https://gitee.com/beijing_hongye_huicheng/docker/tags,下载对应版本,里面有sql |
| | | |
| | | # 本地环境搭建---Docker |
| | | |
| | | |
| | | |
| | | |
| | | **如有不懂,最好参考官方文档**:[lilishop官方文档](https://docs.pickmall.cn/deploy/win/framework.html) |
| | | |
| | | |
| | | |
| | | # 2.本地环境搭建---Docker |
| | | |
| | | ## es安装(windows): |
| | | ```docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.9.3``` |
| | | |
| | | ## ik分词器安装: |
| | | 1. ik分词器版本必须和es版本保持一致 |
| | | |
| | | 1. **ik分词器版本必须和es版本保持一致** |
| | | |
| | | 2. 下载地址:http://cdn-us-west-release.infinilabs.com/analysis-ik/stable/ |
| | | |
| | |
| | | 3. docker run -d --name rmqbroker -p 10912:10912 -p 10911:10911 -p 10909:10909 -p 8080:8080 -p 8081:8081 -e "NAMESRV_ADDR=127.0.0.1:9876" -v C:\rocketmq-config\broker.conf:/home/rocketmq/rocketmq-4.8.0/conf/broker.conf apache/rocketmq:4.8.0 sh mqbroker -c /home/rocketmq/rocketmq-4.8.0/conf/broker.conf |
| | | ``` |
| | | |
| | | |
| | | |
| | | ## mysql8安装 |
| | | |
| | | `````` |
| | | docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8 |
| | | `````` |
| | | |
| | | |
| | | |
| | | ## redis安装 |
| | | |
| | | `````` |
| | | docker run --name redis -p 6379:6379 -d redis:latest |
| | | `````` |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | # 2.本地运行 |
| | | |
| | | ## SQL |
| | | |
| | | SQL文件位于项目根目录的sql目录,创建数据库:lilishop,导入该sql文件 |
| | | |
| | | |
| | | |
| | |  |
| | | |
| | | |
| | | |
| | | ## 项目结构说明 |
| | | |
| | |  |
| | | |
| | | 和正常的maven多模块项目唯一的不同之处就是:业务模块都可以单独运行,一个模块就是一个服务。 |
| | | |
| | | |
| | | |
| | | 抛开这一点,就把它当作普通的maven多模块项目即可。(猜测是开发时作者考虑到后续微服务版本所以做了这样的拆分) |
| | | |
| | | |
| | | |
| | | ## 配置文件说明 |
| | | |
| | | 每个独立的业务模块都有一个独有的配置文件,就很像微服务。 |
| | | |
| | | |
| | | |
| | | 当你本地运行时却发现改模块内部的配置文件没有起效,这是因为SpringBoot加载配置文件优先级的问题。 |
| | | |
| | | |
| | | |
| | | 开源作者在项目根目录下有个叫config的文件夹,里面有一个配置文件。改了模块内部不起作用就是因为config目录下的配置文件覆盖了模块内的配置文件(注意,不是文件覆盖,而是相同配置的地方会覆盖)。 |
| | | |
| | | |
| | | |
| | | SpringBoot的配置文件加载优先级:(高-----> 低) |
| | | |
| | | 1. 运行时通过 -Dspring.config.location 进行指定(在部署时经常使用) |
| | | 2. jar包 当前目录/项目根目录 的config目录下 |
| | | 3. jar包内部打包好的配置文件 |
| | | |
| | | **所以在本地开发时,修改config目录下的配置文件,或者也可以删掉这个config目录** |
| | | |
| | | |
| | | |
| | | ## 新项目先install再运行 |
| | | |
| | | 首先对maven父项目进行:clean、install |
| | | |
| | |  |
| | | |
| | | 因为maven多模块项目会存在A模块引用B模块,B模块是你的代码包,并不存在于maven中央仓库。 |
| | | |
| | | |
| | | |
| | | install的目的就是把每个模块都安装到本地maven仓库,这样才能正常运行。 |
| | | |
| | | |
| | | |
| | | ## 业务模块 |
| | | |
| | |  |
| | | |
| | | idea会在这里列出哪些类加了启动类注解:@SpringBootApplication |
| | | |
| | | 列举出来的就是对应maven业务模块,除了AdminApplication可以不用运行,CommonApplication必须运行,其它的可根据具体调试开发哪个模块来决定是否运行,防止内存占用过高,而且每个模块在前端就对应一个前端项目,所以可以单独运行某个模块的。 |
| | | |
| | | |
| | | |
| | | - admin模块,springboot的服务监控,可以不要 |
| | | - buyer-api模块:买家(用户)的所有api |
| | | - common-api模块:基础api服务,所以是必须要运行的模块 |
| | | - im-api模块:im指的是即时通讯,这个是提供及时聊天的api服务 |
| | | - manager-api模块:电商平台的api服务 |
| | | - store-api模块:商家api服务 |
| | | - consumer模块:rocketmq消费者服务 |
| | | - framework模块:可以理解为系统基础模块,每个模块的实体类、mapper、service都写这里面。还有有一些配置、通用类、工具类。其它模块都会引用framework模块 |
| | | |
| | | # 系统账号 |
| | | |
| | | 平台端:admin 123456 |
| | | |
| | | 商家端:13011111111 111111 |
| | | |
| | | |
| | | # 代码生成 |
| | | 公司git项目:code-gen |
| | | 分支:lmk |
| | | 运行该项目然后通过api调用: |
| | | |
| | | POST http://127.0.0.1:9999/sys-table/generator |
| | | { |
| | | "tableName": "lmk_video_tag", // 为哪张表生成代码 |
| | | "whichModule": "test", // 生成的代码在哪个模块,建议不改,生成成功后项目目录下会有一个test文件夹,拷贝代码到本项目即可 |
| | | "tablePrefix": "lmk_", // 表前缀 |
| | | "dataBase": "lilishop", // 数据库名称 |
| | | "author": "xp" // 作者 |
| | | } |
| | | |
| | | |
| | | # xxl-job |
| | | 仓库:lmk-xxl-job |
| | | 启动:XxlJobAdminApplication后访问:http://127.0.0.1:9001/xxl-job-admin/ |
| | | 用户名:admin |
| | | 密码:111111 |