我正在用java
在Spring中编写WebApp后端。在代码中有很多神奇的数字。有没有一种方法可以将此配置放入config
中,以便在不重新启动整个应用程序的情况下对此配置中的任何更改生效?如何在spring中动态加载java中的配置
0
A
回答
1
当java进程启动时,加载spring上下文,一旦加载spring上下文,它只会读取属性文件一次,所以如果你改变任何属性,你必须重新启动你的应用程序,这很好。
或者您可以用Apache Commons Configuration项目中的PropertiesConfiguration替换java.util.Properties。它支持自动重新加载,通过检测文件何时更改或通过JMX触发来支持。
另一种替代方法是将所有的prop变量保存在数据库中并定期刷新您的引用缓存,这样您就不必重新启动应用程序,并且可以从数据库实时更改属性。
0
您可以通过下面的步骤调用配置文件:
- 使用@Configuration标注为它调用 配置文件中的类。
- 另一个注释到类以上声明用于定义路径配置文件@PropertySource({ “URL/PATH_OF_THE_CONFIG_FILE”})
- @Value( “$ {PROPERTY_KEY}”)注释上方的变量,其中对应于property_key的值需要被分配。
下列bean在相同的配置调用类。
@Bean public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() { return new PropertySourcesPlaceholderConfigurer(); }
确保@ComponentScan覆盖了配置文件放在
0
这里就是这样的文件夹,你可以配置它
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemalocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!--To load properties file -->
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:META-INF/*-config.properties">
</property></bean>
<bean id="createCustomer" class="com.example.Customer">
<property name="propertyToInject" value="${example.propertyNameUnderPropertyFile}">
</beans>
您也可以参考它立即在java文件中
public class Customer {
@Value("${example.propertyNameUnderPropertyFile}")
private String attr;
}
相关问题
- 1. 动态加载spring xml配置
- 2. 如何在Magento中动态加载配置参数?
- 3. 动态加载配置Bean
- 4. 如何在Flash中反动态加载动态加载的PNG
- 5. 如何在apache + spring中动态加载属性文件的值
- 6. 如何在Spring中动态加载bean的属性
- 7. 如何在没有spring-boot的情况下在spring-webflux中加载配置?
- 8. 如何在spring mvc 4中添加resourcehandler 4 java配置
- 9. 基于Spring中的属性文件动态配置java beans
- 10. 使用Spring Boot中的动态端口配置Geb配置
- 11. 从Java配置中使用Spring动态语言支持
- 12. 在配置context.xml时在java spring中使用重载的方法
- 13. 在Java中动态加载模块
- 14. 如何在AspNetCore中配置动态WebAPI
- 15. 如何在java中动态设置PreparedStatement?
- 16. 如何动态加载配置文件在春天
- 17. 如何在java中编程设置动态库的加载路径?
- 18. 如何在VueJs中动态添加一组配置的模板?
- 19. 如何加载静态配置信息
- 20. 如何在nginx中配置动态SSL配置的动态虚拟主机?
- 21. 如何在Java配置类中设置Spring Weaver选项?
- 22. 如何在spring java配置中设置日志记录属性?
- 23. 动态加载终端中的java类
- 24. 在CakePHP中动态加载插件配置文件3
- 25. 如何在基于Java的安全配置的Spring Security中配置两个formLogin?
- 26. 的Spring Java配置
- 27. 的Spring Java配置
- 28. 在Java中配置OAuth 2 Spring Boot
- 29. Java Spring自动装配配置文件
- 30. 如何在rails中启动时加载配置?
检查此问题http://stackoverflow.com/questions/26150527/how-can-i-reload-properties-file-in-spring-4-using-annotations – user1516873