赞
踩
本专栏将为大家总结项目实战相关的知识! 点击即可关注本专栏,获取更多知识!
在本篇文章中,我将为大家总结项目实战相关的知识,并提供配置Jetty服务器以及集成MySQL和Redis数据库的代码示例。通过这些内容,你将能够更好地理解如何在Spring Boot项目中进行相应的配置和集成。
默认情况下,Spring Boot集成了Tomcat服务器。然而,在高并发的WebSocket环境下,Jetty更适合使用。因此,我们需要将Tomcat替换为Jetty。
首先,在pom.xml文件中添加Jetty依赖库:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
除了添加Jetty的依赖,我们还需要排除Spring Boot捆绑的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>
默认情况下,Spring Boot项目的配置文件是properties文件,但我们需要将其改为yml文件。以下是配置Jetty服务器的示例:
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数据库,并提供相应的依赖和配置示例。
首先,我们需要引入连接池依赖。在此示例中,我们使用druid连接池和Jedis作为Redis客户端。
<!-- 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>
- 排除 Lettuce 的依赖是因为在引入 Redis 相关的依赖时,Spring Boot 默认使用 Lettuce 作为 Redis 客户端。
- Lettuce 和 Jedis 都是 Java 客户端库,用于与 Redis 数据库进行交互。它们在实现上有一些区别,例如 Lettuce 是基于 Netty 的异步、非阻塞连接,而 Jedis 则是基于传统的阻塞 I/O 连接。
接下来,我们需要引入MySQL和Redis数据库的依赖。
<!-- MySQL驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- redis数据库 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
在配置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
到这里我们Spring Boot项目对Jetty、MySQL和Redis的整合就完成了,我们启动Spring Boot项目如果控制台没有报错就说明你成功了!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。