如何在spring框架中使用.properties/.xml/.yml等配置文件配置annotaion值



特定案例的代码片段

@Configuration
@NewEnableRedisHttpSession(maxInactiveIntervalInSeconds = 900)
@Import({RedisConfiguration.class})

这里有一个注释值:maxInactiveIntervalInSeconds = 900

@NewEnableRedisHttpSession(maxInactiveIntervalInSeconds = 900)

我想像一样配置它

@NewEnableRedisHttpSession("${maxInactiveIntervalInSeconds}")

某个配置文件将提供该值maxInactiveIntervalInSeconds = 900

使用

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = intervalInSeconds)

更具体地满足您的需求

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 900)

默认值为1800

请参阅https://docs.spring.io/spring-session/docs/current/api/index.html?org/springframework/session/data/redis/config/annotation/web/http/EnableRedisHttpSession.html第CCD_ 5节。

基于评论的补充这样做,以防您想从application.properties中获得值

spring.session.timeout=9000
@Value("${spring.session.timeout}")
private Integer maxInactiveIntervalInSeconds;

参见https://stackoverflow.com/a/37440818/3728901

最新更新