当前位置:   article > 正文

【项目实战】Spring Boot项目整合Jetty、MySQL、Redis和MongoDB_springboot jetty

springboot jetty

本专栏将为大家总结项目实战相关的知识! 点击即可关注本专栏,获取更多知识!


前言

在本篇文章中,我将为大家总结项目实战相关的知识,并提供配置Jetty服务器以及集成MySQL和Redis数据库的代码示例。通过这些内容,你将能够更好地理解如何在Spring Boot项目中进行相应的配置和集成。

一、配置Jetty服务器

默认情况下,Spring Boot集成了Tomcat服务器。然而,在高并发的WebSocket环境下,Jetty更适合使用。因此,我们需要将Tomcat替换为Jetty。

1. 引入Jetty依赖库

首先,在pom.xml文件中添加Jetty依赖库:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4

除了添加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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2. 配置YML文件

默认情况下,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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

二、配置MySQL和Redis

我们将学习如何配置MySQL、Redis数据库,并提供相应的依赖和配置示例。

1. 引入连接池依赖

首先,我们需要引入连接池依赖。在此示例中,我们使用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>
  • 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
  • 排除 Lettuce 的依赖是因为在引入 Redis 相关的依赖时,Spring Boot 默认使用 Lettuce 作为 Redis 客户端。
  • Lettuce 和 Jedis 都是 Java 客户端库,用于与 Redis 数据库进行交互。它们在实现上有一些区别,例如 Lettuce 是基于 Netty 的异步、非阻塞连接,而 Jedis 则是基于传统的阻塞 I/O 连接。

2. 引入数据库依赖

接下来,我们需要引入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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

  • 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
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

结语

到这里我们Spring Boot项目对Jetty、MySQL和Redis的整合就完成了,我们启动Spring Boot项目如果控制台没有报错就说明你成功了!

推荐阅读
相关标签