Spring Boot - 从外部属性文件设置值

时间:2017-05-25 11:09:17

标签: java spring spring-mvc model-view-controller spring-boot

我在application.properties上设置了一个外部位置,如下所示

spring.config.location=file:${catalina.home}/conf/app.properties

app.properties的属性为timeOut=10000。还有许多其他属性。

我需要在我的会话中设置此属性,如下所示:

 session.setMaxInactiveInterval(timeOut_Property);

如何实现这一目标?

添加控制器:

@Controller
public class StartController  {

@Value("${spring.config.location.defaultTimeout}")
private int defaultTimeout;

@RequestMapping("login.do")
public String login(HttpServletRequest request, HttpSession session, Model model) {     
    session.setMaxInactiveInterval(defaultTimeout);     
    return null;        
}

2 个答案:

答案 0 :(得分:0)

您可以在类中使用此属性注释变量:

@Value("${timeOut}")
private String timeOut;

使用此变量将会话非活动时间间隔设置为:

session.setMaxInactiveInterval(timeOut);

答案 1 :(得分:0)

您的主应用程序类应如下所示:

@SpringBootApplication
@PropertySource(name = "general-properties", value = { "classpath:path to your app.properties"})
public class MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(NayapayApplication.class, args);
    }
}

将控制器更改为:

@Controller
public class StartController  {

    @Value("${timeOut}")
    private int defaultTimeout;

    @RequestMapping("login.do")
    public String login(HttpServletRequest request, HttpSession session, Model model) {     
        session.setMaxInactiveInterval(defaultTimeout);     
        return null;        
    }
}