我是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个选择
<util:properties />
@PropertySource
和Environment
抽象。<util:properties />
要简单地加载属性文件,您可以使用PropertiesFactoryBean
或更简单的<util:properties />
标记(使用PropertiesFactoryBean
下面的标记,但更易于配置)。有关更多信息,请参见此处。
只需将以下内容添加到您的xml配置中
<util:properties id="transactions" location="classpath:transaction.properties" />
现在,您有了一个Properties
名为的Bean transactions
,可以将其注入到控制器中,然后可以使用该Bean 获得所需的属性。
@Autowired
private Properties transactions;
@PropertySource
和Environment
抽象另一种解决方案是添加带有的@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中实现的。