在struts 2(带弹簧插件)+弹簧4 ....
可以在操作中使用spring @value
来读取属性文件(正式名称为property-placeholder
)。我们使用此功能来从属性文件中获取应用程序配置项。示例代码如下:
@Value("#{'${City.Names}'.split(',')}")
private List<String> cityNames;
#In the spring property files
CityNames=Tehran,Isfahan
另一方面,为每个请求实例化Struts 2 Action对象(如https://struts.apache.org/docs/comparing-struts-1-and-2.html中所述)
所以这意味着弹簧总是会产生一个新动作,导致弹簧为每个请求运行弹簧EL ${City.Names}'.split(',')
。因此,考虑到性能,在行动中使用@value
并不是一个好方法。
这是对的吗?如果不是,那它是如何处理的?!
请注意,在实际情况下,我们的一些弹簧EL是复杂且耗时的。