春季:在属性文件中定义@RequestMapping值


问题内容

是否可以@RequestMapping通过在属性文件中定义注释来在Spring中定义注释的值?

实际上,我这样做:

@Controller
@RequestMapping("/xxx")
public class MyController {
...
}

但我想将路径存储/xxx在属性文件中。为什么?例如,如果我重命名控制器中的路径,则不太可能在模板中进行操作。

在其他框架中,这是允许的(例如,参见Symfony)。


问题答案:

它应该是可以使用占位符@RequestMapping,例如像@RequestMapping("${foo.bar}")。查看文档以获取更多详细信息:

@RequestMapping注释中的模式支持${…​针对本地属性和/或系统属性以及环境变量的占位符。在可能需要通过配置自定义控制器映射到的路径的情况下,这可能很有用。有关占位符的更多信息,请参见PropertyPlaceholderConfigurer类的javadocs。