当前位置: 首页 > 面试题库 >

在Spring中使用属性文件

祝高阳
2023-03-14
问题内容

我是Spring框架的新手。在我的Spring应用程序中,有一些细节,如下所述,这些细节需要在属性文件中维护。

Transaction Name     Transaction Id
TXT_CCO              = 70001
TXT_CCI              = 70002
TXT_SSM              = 20005

在我的控制器中,有一个如下操作。

@RequestMapping(value = {"/ValidateWalletAmount**"}, method = RequestMethod.GET)
public @ResponseBody String validateWalletAmount(@RequestParam("mobile") String mobile,
                                           @RequestParam("pin") String merchant_pin,
                                           @RequestParam("provider") String provider,
                                           @RequestParam("currency_type") String currency_type,
                                           @RequestParam("amount") String amount) {
    //TO DO - Get txnTypeId by provider

    return "02 | 1000.00 | 0.00";
}

根据请求参数 提供者, 我需要获取相关的交易类型ID。例如,如果提供者为 TXT_CCO ,则事务类型id应为 70001

有人可以帮我实现这个目标吗


问题答案:

我会说你有2个选择

  1. 使用加载属性 <util:properties />
  2. 使用@PropertySourceEnvironment抽象。

使用 <util:properties />

要简单地加载属性文件,您可以使用PropertiesFactoryBean或更简单的<util:properties />标记(使用PropertiesFactoryBean下面的标记,但更易于配置)。有关更多信息,请参见此处。

只需将以下内容添加到您的xml配置中

<util:properties id="transactions" location="classpath:transaction.properties" />

现在,您有了一个Properties名为的Bean transactions,可以将其注入到控制器中,然后可以使用该Bean 获得所需的属性。

@Autowired
private Properties transactions;

使用@PropertySourceEnvironment抽象

另一种解决方案是添加带有的@Configuration@PropertySource以加载属性。之后,您可以使用Environment获取属性。有关Environment更多信息,请参见参考指南中的部分。

@Configuration
@PropertySource("classpath:transaction.properties")
public class MyConfiguration {}

在您的控制器中,您可以使用Environment获取属性。

@Autowired
private Environment env;

资源支持

当然,Spring属性支持可用于Spring的资源加载方法。因此,file:http:前缀以及适用于used的默认加载规则同样适用ApplicationContext



 类似资料:
  • 问题内容: 我为该标题表示歉意。我找不到更好的方法来解释这种情况。 我使用URL http://www.exampledepot.com/egs/java.util/Props.html中所述的Property类加载属性文件。 我的问题是我可以在该属性文件中使用属性吗? 例: test.properties 其他语法有可能吗? 谢谢 问题答案: 以前从未见过。您当然 可以 制作自己的预处理器。只要

  • 我有一个属性文件,例如*。 我想在freemarker模板中使用这个键值。比如说

  • 例如,我有一个bean类 我想设置这个属性的值。 在Xml配置中,我可以 我如何实现同样的事情,即设置属性的值使用Java注释?现在我已经读到,我们可以使用@Value注释使用一些属性文件,但它不能不使用属性文件,做的方式,我通过xml文件?或者使用属性文件是必要的? 我可以通过包含

  • 问题内容: 我正在创建一个在GlassFish中运行的Web服务,并且我想要一些自定义属性。为此,我正在使用该类。我使用的代码是: 但是,如何在配置目录中获取-file? 我不确定我的类路径,因为它是由NetBeans和GlassFish管理的。我假设我的-file在部署时已添加到类路径中… 我已经添加了自己的解决方案,但是如果有人可以提出更好的解决方案,那将是非常受欢迎的… 问题答案: 有效的解

  • 我需要从属性文件加载数据源属性 db.properties: 这是数据源(camelcontext.xml): 我试着这样做,但没用。 我的路由是在java dsl中实现的。