传递给spring应用程序上下文的用户输入参数



我有一个Java应用程序,它接受用户输入的配置文件路径。我想把这个输入配置文件路径传递给我的spring applicationContext.xml,这样我就可以用dburl、dbusername和dbpasswd创建数据源的bean,这些将在我的应用程序的其他类中使用。

是否有一种方法将运行时用户参数传递给Spring应用程序上下文?如果是,那么如何在applicationContext.xml

中检索它?

创建一个保存运行时数据的类,在applicationContext.xml中将其声明为Bean,然后在数据源的属性中提供该类的引用。

基本上有三种方法可以使应用程序上下文意识到运行时配置:

  • 使用属性文件和PropertyPlaceholderConfigurer -它会工作得很好,但你必须使用磁盘文件来传递已经在内存中的数据
  • 使用系统属性,因为PropertyPlaceholderConfigurer可以使用它们作为属性文件的后备(或优先)-不使用磁盘,但您必须正确选择属性名称以避免副作用(通常前缀必须在您自己的名称空间中)
  • 在专用类甚至bean中使用静态字段-不一定很好,但是它只是工作

当然,无论您选择什么方法,请确保在刷新和启动应用程序上下文之前初始化这些数据。

相关内容

  • 没有找到相关文章

最新更新