2016-04-17 65 views
0

我想知道这是什么模式。我正在构建一个用户可以创建其帐户的应用程序。一旦用户创建了自己的账户,她就可以获得一些基本数据,比如金额,她的猫的名字以及其他复杂的对象。Java/Spring:填充初始用户数据

处理这些默认值的最佳方法是什么?

一种方法是在Account bean中对它们进行硬编码。但是,如果这些默认值在生产中必须改变,会发生什么?

一种天真的方式是在设置中使用默认值,然后在创建每个用户时将它们复制到Account bean中。

虽然这些默认值因用户组而不同,但事情会变得混乱。例如,如果用户来自欧洲,我想将她的初始金额设置为54欧元。如果她来自美国,我想将其设置为-20美元。如果用户来自中国,如果用户来自墨西哥,则需要分配20个最初的汽车,同时分配10个建筑物。

正如你所看到的,每个用户的这些初始设置可以包含一些复杂的对象。

在Java和Spring中处理这个问题的最佳方法/模式是什么?

+0

这没有最好的办法。从我的角度来看,我绝不会对它们进行硬编码。使用属性文件,您可以轻松更改或从持久性中读取它们。 –

回答

0

属性文件是一个很好的解决方案。数据库将是更多的初始成本,但可能提供更好的长期价值。可以通过具有分组属性占每个用户组值的差,如

us.initial_value=-20 
us.unit=USD 
eu.initial_value=54 
eu.unit=Euros 
china.initial_valu=20 
china.unit=cars 

你能有代码提供用于默认缺省值,如果该值不是从文件中读取正确。