Java Spring启动-从外部属性文件设置值
我在我的Java Spring启动-从外部属性文件设置值,java,spring,spring-mvc,model-view-controller,spring-boot,Java,Spring,Spring Mvc,Model View Controller,Spring Boot,我在我的应用程序上设置了一个外部位置。属性如下 spring.config.location=file:${catalina.home}/conf/app.properties app.properties的属性为timeOut=10000。还有许多其他属性 我需要在会话中设置此属性,如下所示: session.setMaxInactiveInterval(timeOut_Property); @SpringBootApplication @PropertySource(name = "g
应用程序上设置了一个外部位置。属性如下
spring.config.location=file:${catalina.home}/conf/app.properties
app.properties
的属性为timeOut=10000
。还有许多其他属性
我需要在会话中设置此属性,如下所示:
session.setMaxInactiveInterval(timeOut_Property);
@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("${spring.config.location.defaultTimeout}")
private int defaultTimeout;
@RequestMapping("login.do")
public String login(HttpServletRequest request, HttpSession session, Model model) {
session.setMaxInactiveInterval(defaultTimeout);
return null;
}
您可以在类中将具有此属性的变量注释为:
@Value("${timeOut}")
private String timeOut;
使用此变量将会话非活动间隔设置为:
session.setMaxInactiveInterval(timeOut);
您的主应用程序类应如下所示:
session.setMaxInactiveInterval(timeOut_Property);
@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;
}
}
当定义了单个属性时,@Rjiuk可能重复。您尝试过吗?我很确定它在一个属性文件和多个属性文件中都能正常工作。看起来您没有添加具有超时值的属性文件。请在主类中导入自定义属性文件,如@PropertySource(name=“general properties”,value={“classpath:path to your app.properties”})公共类MainApplication{}