一、maven项目环境搭建
每次创建项目时,都要借鉴已有的项目依赖和配置文件进行创建,依赖用于什么功能的,以及配置文件作用于哪些依赖的,都云里雾里的。为此,写一个通用的环境搭建的博客就方便我创建新项目,需要引入什么常见依赖就看看这篇博客,顺便看看依赖之间的关系和配置文件的使用,(●’◡’●)。
1.1 SpringBoot依赖
以maven创建的项目为例,仅需基础springboot父工程,然后引入启动器和测试依赖即可。
注意:springboot父工程定义了很多需要使用的依赖版本,故部分依赖版本号无需手动指定。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.5</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> </dependencies>
|
1.2 Mysql环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-3-starter</artifactId> <version>1.2.20</version> </dependency>
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> </dependency>
|
相关配置文件设置
1 2 3 4 5 6 7 8
| spring: datasource: type: com.alibaba.druid.pool.DruidDataSource druid: url: jdbc:mysql://localhost:3306/steel username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver
|
1.3 Mybatis依赖
二选一即可正常使用
1 2 3 4 5 6 7 8 9 10 11 12 13
| <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>3.0.1</version> </dependency>
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.3.1</version> </dependency>
|
相关配置文件设置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| mybatis: mapper-locations: classpath:/mapper/*.xml type-aliases-package: com.ldy.bean configuration: auto-mapping-behavior: full map-underscore-to-camel-case: true log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl logging: level: com.ldy.mapper: debug org.springframework.transaction: debug org.mybatis: debug
|
1.4 工具类依赖
经常用到的工具类依赖
1 2 3 4 5 6
| <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.28</version> </dependency>
|
1.5 Mongdb依赖
1 2 3 4 5
| <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
|
配置文件
1 2 3 4 5 6
| spring: data: mongodb: host: 127.0.0.1 database: articledb port: 27017
|
二、Docker部署中间件
2.1 部署redis(8.4版本,windows环境)+ 挂载配置文件
2.1.1 配置文件配置
配置文件下载官网(使用什么版本的容器,就下什么版本):Index of /releases/
下载好之后,解压缩并复制其中的redis.conf文件到你要挂载配置文件的目录中。这里我创建了两个目录,一个存放配置文件,一个存放持久化文件,毕竟redis里的重要内容就是配置和数据。

2.1.2 部署
这里我在windows环境下,通过wsl部署的redis。命令如下,挂载的目录以自己的环境为准。
1 2 3 4 5 6 7
| docker run -d \ --name redis8.4 \ -p 6379:6379 \ -v /mnt/e/docker/redis/conf:/usr/local/etc/redis \ -v /mnt/e/docker/redis/data:/data \ redis \ redis-server /usr/local/etc/redis/redis.conf
|
| 命令 |
解释 |
| -v /mnt/e/docker/redis/conf:/usr/local/etc/redis |
挂载/usr/local/etc/redis目录到e盘的docker/reids/conf目录下 |
| -v /mnt/e/docker/redis/data:/data \ |
将/data目录挂载到e盘的docker/redis/data目录下。特别注意,这个data是存放持久化文件的。所以要在redis.conf中,修改工作目录dir ./ 为 dir /data。这样子,持久化文件才会正确放置到该目录中。 |
| redis-server /usr/local/etc/redis/redis.conf |
redis启动时,使用/usr/local/etc/redis/redis.conf这个配置文件,这个路径是相对于容器来说的。由于挂载,实际上使用的是e盘的docker/reids/conf目录下的redis.conf文件 |
特别注意,将redis的配置文件和持久化文件目录进行挂载时,填入的文件路径以wsl环境为准!wsl中,windows环境放在/mnt目录中!
2.2 部署RabbitMQ
2.2.2 创建插件存放目录
如下图所示

2.2.2 部署
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| //windows环境 docker run \ -e RABBITMQ_DEFAULT_USER=ldy \ -e RABBITMQ_DEFAULT_PASS=123456 \ --name rabbitmq \ --hostname rabbitmq \ -p 15672:15672 \ -p 5672:5672 \ -d \ rabbitmq:3.8-management //一整行,cmd复制即可 docker run -e RABBITMQ_DEFAULT_USER=ldy -e RABBITMQ_DEFAULT_PASS=123456 --name rabbitmq --hostname rabbitmq -p 15672:15672 -p 5672:5672 -d rabbitmq:3.8-management
//linux环境 docker run \ -e RABBITMQ_DEFAULT_USER=itheima \ -e RABBITMQ_DEFAULT_PASS=123321 \ -v mq-plugins:/plugins \ --name mq \ --hostname mq \ -p 15672:15672 \ -p 5672:5672 \ --network hm-net\ -d \ rabbitmq:3.8-management
|
-e RABBITMQ_DEFAULT_USER=itheima:设置默认用户名
-e RABBITMQ_DEFAULT_PASS=123321:设置默认密码
--name mq:容器命名为 mq
--hostname mq:容器内部主机名设为 mq
注意:rabbitmq部署到window的目录时,会报错,无法挂载,所以我们只能在windows里添加好插件之后,通过docker cp 命令手动将插件复制到rabbitmq的plugins目录里。
1
| docker cp 本地插件地址 <rabbitmq容器名>:/plugins/
|
2.2.3 插件安装
以延迟消息的插件为例,插件下载地址Releases · rabbitmq/rabbitmq-delayed-message-exchange
注意下载的版本和docker的rabbitmq容器的版本一致。

下载完成并移动到windows的plugins目录之后,使用命令
1
| docker cp /mnt/e/docker/rabbitmq/plugins/rabbitmq_delayed_message_exchange-3.8.17.8f537ac.ez rabbitmq:/plugins/
|
之后就会发现这个插件被存放到了/opt/rabbitmq/plugins目录下面,而不是/plugins目录,因为在rabbitmq容器里,plugins是一个符号链接

但是,就算windows下,将这个目录下的插件都复制到plugins文件夹,然后挂载,也还是会报错,所以windows环境还是只能使用docker cp命令来实现插件的新增。
linux环境直接将插件复制到挂载目录即可。
挂载完成之后,我们还需要手动启用插件,命令如下
1
| docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_delayed_message_exchange
|

2.3 部署ElasticSearch