Java Spring:在属性文件中定义@RequestMapping值

Java Spring:在属性文件中定义@RequestMapping值,java,spring,spring-mvc,annotations,Java,Spring,Spring Mvc,Annotations,通过在属性文件中定义@RequestMapping注释,是否可以在Spring中定义它的值 事实上,我做的是: @Controller @RequestMapping("/xxx") public class MyController { ... } 但是我想将路径/xxx存储在属性文件中。为什么?例如,如果在控制器中重命名路径,则在模板中执行mystake的可能性较小 在其他框架中,这是允许的(例如,请参见Symfony)。应该可以在@RequestMapping中使用占位符,例如@Requ

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

事实上,我做的是:

@Controller
@RequestMapping("/xxx")
public class MyController {
...
}
但是我想将路径
/xxx
存储在属性文件中。为什么?例如,如果在控制器中重命名路径,则在模板中执行mystake的可能性较小


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

应该可以在
@RequestMapping
中使用占位符,例如
@RequestMapping(${foo.bar}”)
。有关更多详细信息,请参阅:

@RequestMapping
注释中的模式支持
${…​}占位符。在需要通过配置自定义控制器映射到的路径的情况下,这可能很有用。有关占位符的更多信息,请参阅PropertyPlaceHolderConfigure类的javadocs


谢谢你的帮助。这是我的贡献。。。 不需要依赖项,因为maven自己做所有事情

在属性文件中-使用maven插值,如下所示:

vs= v1

us= users
me= messages

url.user=${vs}/${us}
url.mess=${vs}/${me}
在destiny文件中,例如控制器/资源(在mycase中):

@RestController

//@RequestMapping(“v1/users”)
@RequestMapping(System.getProperty(“xxx.mapping.path”),“/xxx”)
@SMA怎么样,这样不行。注释参数值必须是编译时的constants@BohuslavBurghardt我的意思是定义静态final变量并在这里使用该变量。我想知道类似的事情(如
@Value
中所做的),但当我试图调用
@RequestMapping
应用程序.properties
文件中定义的键时,例如,my.xx=/xxx,IntelliJ Idea报告了以下问题:
无法解析@PathVariable my.xx
。有什么想法吗?@JeanValjean,当你运行应用程序时,它能工作吗?IntelliJ检查并不总是完美的,因此这可能只是一个误报错误。如果我在application.properties文件中添加定义,一切都正常。问题是当我尝试从另一个属性文件加载字符串时。我必须找到一种读取它的方法。@JeanValjean您好,您有没有找到读取其他属性文件的方法?这也可以用于URL列表?
@RestController
//@RequestMapping("v1/users") <<<<<<instead this
@RequestMapping("${url.user}")<<<<<<use this
@Api(value = "API RESTFUL)
public class UserResource {
//