当前位置: 首页 > 知识库问答 >
问题:

如何加载应用程序。基于Spring MVC中的概要文件动态创建属性文件?

锺离霖
2023-03-14

嗨,我正在学习Spring MVC,我想知道如何加载应用程序。动态创建属性文件。

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

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

此属性文件包含与数据库相关的数据。但我不知道如何设置概要文件以及如何基于概要文件加载PropertySource
我已在appConfig文件中设置了活动配置文件。请帮助我了解如何配置配置文件和应用程序。使用基于Java的spring MVC配置的属性。我已经搜索并找到了许多基于XML的配置解决方案,但对于基于java的配置,我还没有找到任何合适的答案。

HibernateConfig.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(){
}
}

AppConfig。Java语言

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

共有1个答案

段成益
2023-03-14

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

当您将其设置为“dev”时,它将读取主应用程序。属性,然后是概要文件。有关如何设置的详细信息:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html

 类似资料:
  • 如何创建支持多种环境的项目架构?在Spring的帮助下,每个环境将具有来自不同属性文件(dev-propertfile,test-propertfil,propertyfile)的不同数据源

  • spring boot launcher似乎在寻找<code>应用程序。{xml|properties | yml 124yaml}文件在以下位置加载属性。是否有方法指定不同的文件名或文件以从中加载属性? 编辑: 是否有方法指定另一个Bean配置文件(如applicationcontext.xml)?

  • 问题内容: 我已经编写了一个PropertyUtils类(来自互联网),它将加载属性 而PropertiesUtil类如下所示 稍后,我可以通过调用PropertiesUtil.getProperty()方法来获取属性。 但是现在我要稍作修改,以便如果myApp.properties被用户修改/更改,则应再次加载 可能我需要FileWatcher类 但我的怀疑是 如何使用classpath:myA

  • 我已经写了一个PropertyUtils类(来自互联网),它将加载属性 PropertiesUtil类如下所示 稍后,我可以通过调用PropertiesUtil来获取属性。getProperty()方法。 但现在我想稍微修改一下,如果myApp。属性被用户修改/更改,应该重新加载 可能我需要FileWatcher类 但我的疑虑是 如何使用classpath创建File对象:myApp/myApp.

  • 问题内容: 如何创建项目架构以支持多个环境。借助于spring的帮助,每个环境都将具有来自不同属性文件(例如,(dev-propertfile,test- propertyFil,Production-propertyfile))的不同数据源。 问题答案: 我将逐步介绍Spring引导应用程序的过程。 在 /src/main/resources/application.properties 内部,

  • 我将创建一些编译概要文件,如下所示: null null