染指余忆 2024-04-07 19:18 采纳率: 96.3%
浏览 93
已结题

无法解析配置属性 'spring.session.store-type'

无法解析配置属性 'spring.session.store-type'

spring.application.name=haloSpring
server.port=8081
spring.devtools.restart.enabled=true
spring.profiles.include= jdbc,jjwt
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

#spring.session.jdbc.cleanup-cron=0
spring.session.store-type=jdbc
spring.session.jdbc.initialize-schema=always
#spring.session.timeout=180s

<!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-jdbc -->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-jdbc</artifactId>
            <version>3.2.2</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <version>3.2.4</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-core -->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-core</artifactId>
            <version>3.2.2</version>
        </dependency>
  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-07 19:18
    关注

    引自免费微信小程序:皆我百晓生

    非常抱歉,您似乎遗漏了一些必要的依赖项。以下是添加这些依赖项并修复问题后的代码示例:

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class HaloSpringApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(HaloSpringApplication.class, args);
        }
    }
    

    此外,为了正确解析配置属性,您还可能需要在应用程序启动时运行以下脚本(如果是通过JavaFX创建的应用程序):

    ApplicationListener<ConfigPropertiesChangedEvent> configPropertiesChangedListener = new ApplicationListener<ConfigPropertiesChangedEvent>() {
        @Override
        public void onConfigPropertiesChanged(ConfigPropertiesChangedEvent event) {
            String springSessionStoreType = event.getProperty("spring.session.store-type");
            System.out.println(springSessionStoreType);
        }
    };
    
    @Component
    public class SpringSessionFactoryConfigProperties implements ConfigPropertiesChangedListener {
    
        @Override
        public void onConfigPropertiesChanged(ConfigPropertiesChangedEvent event) {
            String springSessionStoreType = event.getProperty("spring.session.store-type");
            if (springSessionStoreType != null && springSessionStoreType.equalsIgnoreCase("jdbc")) {
                System.out.println("Using JDBC store type.");
            } else if (springSessionStoreType != null && springSessionStoreType.equalsIgnoreCase("jwt")) {
                System.out.println("Using JWT store type.");
            } else {
                System.out.println("Invalid store type.");
            }
        }
    
    }
    

    将这两个类放在同一个包内(例如src/main/java/com/example/halospring),然后在application.properties文件中添加它们作为子类:

    spring.session.jdbccleanup-cron=0
    spring.session.store-type=jdbc
    spring.session.timeout=180s
    spring.app.name=haloSpring
    spring.web.server.port=8081
    

    这应该能解决您的问题,并使Spring Session持久化存储数据。如果您在应用启动后仍然遇到问题,请提供更多细节,以便我能更好地为您提供支持。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月18日
  • 已采纳回答 9月10日
  • 创建了问题 4月7日

悬赏问题

  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令