• 【项目实战】Spring Boot项目整合Jetty、MySQL、Redis和MongoDB


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


    前言

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

    一、配置Jetty服务器

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

    1. 引入Jetty依赖库

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

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

    除了添加Jetty的依赖,我们还需要排除Spring Boot捆绑的Tomcat服务器依赖:

    <dependency>
    	<groupId>org.springframework.bootgroupId>
    	<artifactId>spring-boot-starter-webartifactId>
    	<exclusions>
    		<exclusion>
    			<groupId>org.springframework.bootgroupId>
    			<artifactId>spring-boot-starter-tomcatartifactId>
    		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客户端。

    
    <dependency>
    	<groupId>com.alibabagroupId>
    	<artifactId>druid-spring-boot-starterartifactId>
    	<version>1.1.13version>
    dependency>
    
    
    <dependency>
    	<groupId>org.springframework.bootgroupId>
    	<artifactId>spring-boot-starter-data-redisartifactId>
    	
    	<exclusions>
    		<exclusion>
    			<groupId>io.lettucegroupId>
    			<artifactId>lettuce-coreartifactId>
    		exclusion>
    	exclusions>
    dependency>
    		
    
    <dependency>
    	<groupId>redis.clientsgroupId>
    	<artifactId>jedisartifactId>
    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数据库的依赖。

    
    <dependency>
    	<groupId>mysqlgroupId>
    	<artifactId>mysql-connector-javaartifactId>
    	<scope>runtimescope>
    dependency>
    
    
    <dependency>
    	<groupId>org.springframework.bootgroupId>
    	<artifactId>spring-boot-starter-data-redisartifactId>
    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项目如果控制台没有报错就说明你成功了!

    🏳️‍🌈点击可关注本专栏,学习更多知识!

  • 相关阅读:
    java-php-net-python-球鞋购物网站计算机毕业设计程序
    MIUI解锁BL
    类之间的关系
    SpringCloud 01 SpringCloud是什么
    cpu设计和实现(数据访问)
    SpringBoot2.7.3 动态数据数据源以及多数据源自动配置
    Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
    C Primer Plus(6) 中文版 第12章 存储类别、链接和内存管理 12.5 ANSI C类型限定符 12.6 关键概念 12.7 本章小结
    IDEA和Tomcat服务器的整合
    kafka(一:分区数据不均衡(数据倾斜),分区分配策略)
  • 原文地址:https://blog.csdn.net/apple_51673523/article/details/127657984