程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何在 Spring MVC 中根据 Profile 动态加载 Application.properties 文件?

发布于2021-08-03 08:31     阅读(561)     评论(0)     点赞(1)     收藏(4)


嗨,我正在学习 Spring MVC,我想知道如何动态加载 application.properties 文件。

我正在添加 HibernateConfig.java 文件和 AppConfig.java 文件。我想使用配置文件动态加载应用程序属性文件。例如:开发、测试、生产。我尝试使用动态名称application-{profile}.properties并尝试使用配置文件注释。但无法理解它们实际上是如何工作的。我创建了一个不同的 application.properties 文件。

  1. 应用程序开发
  2. 应用测试
  3. 应用产品

此属性文件包含我的数据库相关数据。但我不知道如何设置配置文件以及如何根据配置文件加载 PropertySource。
我已经在我的 appConfig 文件中设置了活动配置文件。请帮助我了解如何使用基于 Spring MVC Java 的配置来配置 profile 和 application.properties。我已经搜索并找到了许多基于 XML 的配置的解决方案,但我没有找到任何基于 Java 的配置的正确答案。

休眠配置文件

@Configuration
@EnableTransactionManagement
@ComponentScan({"com.project.configuration"})
@PropertySource(value = {"classpath:application.properties"})
public class HibernateConfiguration {

@Autowired
private Environment env;

@Bean
public LocalSessionFactoryBean sessionFactory(){
return sessionFactory;      
}

@Bean
public DataSource dataSource(){
/* loading DB */
return dataSource;  
}

@Bean
public Properties hibernateProperties(){
}
}

应用程序配置文件

@Override
public void onStartup(ServletContext servletContext) throws ServletException 
{
    super.onStartup(servletContext);
    servletContext.setInitParameter("spring.profiles.active", "dev");
}

解决方案


我想你当时不能设置这个参数,已经太晚了。您必须使用指定的配置文件启动应用程序(或在引导文件中设置它)。您可以将其作为参数传递或放置在:application.properities 键下:spring.profiles.active

当您将其设置为 'dev' 时,它将读取主 application.properities,然后读取配置文件。更多关于如何设置:https : //docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/254441/2732d3e94e6190b7773f/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)