本专栏将为大家总结项目实战相关的知识! 点击即可关注本专栏,获取更多知识!
前言
一、配置Jetty服务器
默认情况下,SpringBoot集成了Tomcat服务器,但是在高并发的WebSocket环境下,Jetty比Tomcat更加适合,所以我们需要把Tomcat替换成Jetty。
1.引入Jetty依赖库
在pom.xml文件中,添加Jetty依赖库
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
除了加入Jetty的依赖,我们还需要剔除掉SpringBoot捆绑的Tomcat服务器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--这里是新加的内容-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
2.配置YML文件
默认情况下,SpringBoot项目的配置文件是properties文件,你要把这个文件改成yml文件。
server:
#jetty配置
jetty:
threads:
acceptors: 4
selectors: 8
port: 8090
servlet:
#启动时使用路径
context-path: /test
multipart:
max-request-size: 10MB
max-file-size: 2MB
二、配置MySQL、Redis和MongoDB数据库
因为这里我们使用到Mysql,那么我们就需要为Mysql增加线程池依赖。同时我们也需要为Redis增加Jedis的依赖。
Jedis是基于java语言的redis客户端,它集成了redis的命令操作,提供了连接池管理。
这里要注意Spring Boot 1.x 的版本默认采用的连接池技术是 Jedis,我们就不需要显式的为项目添加依赖,但是Spring Boot 2.0 以上版本默认连接池是 Lettuce,这时候我们如果采用 Jedis,需要排除 Lettuce 的依赖。
1.引入连接池依赖
因为druid连接池性能比dbcp、c3p0高很多,所以我们一般使用druid连接池。
<!-- druid连接池依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.13</version>
</dependency>
<!-- spring data redis 组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<!--排除 Lettuce 的依赖-->
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 加入jedis 依赖 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
2.引入数据库依赖
如果上面你在排除 Lettuce 的依赖的步骤中已经导入了Redis依赖,这里就不需要再次导入Redis依赖了。
<!--MySQL驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--mongodb数据库-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<!--redis数据库-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
3.配置YML文件
在配置YML文件的时候特别要注意在:
后面有一个空格!
spring:
#MySQL数据库
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
username: 用户名
password: 用户密码
#初始连接数,默认0
initial-size: 2
#最大连接数,默认8
max-active: 4
#最小闲置数
min-idle: 4
##获取连接的最大等待时间,单位毫秒
max-wait: 60000
#失效连接主要通过test-while-idle保证
#如果获取到了不可用的数据库连接,一般由应用处理异常。
test-while-idle: true
#test-on-borrow和test-on-return在生产环境一般是不开启的,主要是性能考虑。
test-on-borrow: false
test-on-return: false
#redis数据库
redis:
database: 0
host: localhost
#端口号
port: 6379
password: 数据库密码
#配置jedis
jedis:
pool:
# 最大连接数,默认8
max-active: 1000
# 最大连接阻塞等待时间,单位毫秒,默认-1ms
max-wait: -1ms
# 最大空闲连接,默认8
max-idle: 16
# 最小空闲连接,默认0
min-idle: 8
#mongodb数据库
data:
mongodb:
host: localhost
#端口号
port: 27017
database: 数据库名
# 登录用户所在的数据库
authentication-database: admin
username: 用户名
password: 用户密码
结语
到这里我们Spring Boot项目对Jetty、MySQL、Redis和MongoDB的整合就完成了,我们启动Spring Boot项目如果控制台没有报错就说明你成功了!
转载:https://blog.csdn.net/apple_51673523/article/details/127657984