Java 在Spring框架中的@RequestMapping注释中添加前缀

Java 在Spring框架中的@RequestMapping注释中添加前缀,java,spring,spring-mvc,model-view-controller,Java,Spring,Spring Mvc,Model View Controller,我在Eclipse的springframework5中工作,我需要在我的@RestControllers中添加一个前缀,因此我发现放置以下内容:@RequestMapping(${foo.bar}”)在课程开始时,将一个新文件application.properties添加到main/java/resources将解决我的问题 application.properties的内容是: foo.bar=/test 但它不起作用,因为当我尝试在我的web explorer上访问:localhost:8

我在Eclipse的springframework5中工作,我需要在我的
@RestControllers
中添加一个前缀,因此我发现放置以下内容:
@RequestMapping(${foo.bar}”)
在课程开始时,将一个新文件
application.properties
添加到
main/java/resources
将解决我的问题

application.properties
的内容是:
foo.bar=/test

但它不起作用,因为当我尝试在我的web explorer上访问:
localhost:8080/project/test
时,我遇到了一个404错误。仅当我使用
localhost:8080/project/$%7Bfoo.bar%7D
访问时,它才起作用。我真的不知道我做错了什么。我不知道Spring是否会自动检测属性文件


有人能帮我吗?

属性文件中的值是从Springbean访问的。但是@Restcontroller用于注册提供restful服务的bean

对于控制器的请求映射,您只需像这样硬编码值,因为此时您还无法获取消息资源对象

@RestController
@RequestMapping(value = "/test")
仅为提供信息,要从控制器内的属性文件访问标签,您必须@Autowired RestController中的MessageResource对象

@Autowired
private MessageResource;
并在任何控制器方法中像这样访问属性文件的标签

message = messageResource.getMessage("foo.bar");

属性文件中的值是从Springbean访问的。但是@Restcontroller用于注册提供restful服务的bean

对于控制器的请求映射,您只需像这样硬编码值,因为此时您还无法获取消息资源对象

@RestController
@RequestMapping(value = "/test")
仅为提供信息,要从控制器内的属性文件访问标签,您必须@Autowired RestController中的MessageResource对象

@Autowired
private MessageResource;
并在任何控制器方法中像这样访问属性文件的标签

message = messageResource.getMessage("foo.bar");

请尝试将application.properties文件放在src/main/resources目录中,您能更详细地解释一下这个前缀的用法吗?有一些现有的工具可能适用。另外,你没有说你是否在使用Spring Boot。您真的应该使用Spring 5项目,因为这是一种现代的开发方式,但如果您没有,这可能解释了占位符不起作用的原因。@chrylis小心光学-当然,我使用的是Spring Framework而不是Spring Boot顺便说一句。我使用这个前缀来分隔同一项目中的两个api rest:web api和mobile api,所以我有很多使用
webapi的
RestControllers
,还有很多使用
mobileapi的
RestControllers
。因此,我们的想法不是在所有类别中都编写您将要使用的后端。@ShubhamPathak抱歉,我感到困惑,是的,文件位于:`src/main/resources',但它不起作用。请您尝试将application.properties文件放在src/main/resources目录中。您能更详细地解释一下这个前缀的用例吗?有一些现有的工具可能适用。另外,你没有说你是否在使用Spring Boot。您真的应该使用Spring 5项目,因为这是一种现代的开发方式,但如果您没有,这可能解释了占位符不起作用的原因。@chrylis小心光学-当然,我使用的是Spring Framework而不是Spring Boot顺便说一句。我使用这个前缀来分隔同一项目中的两个api rest:web api和mobile api,所以我有很多使用
webapi的
RestControllers
,还有很多使用
mobileapi的
RestControllers
。因此,我们的想法不是在所有类别中编写您将要使用的后端。@ShubhamPathak抱歉,我感到困惑,是的,文件位于:`src/main/resources',但它不起作用。
@RequestMapping
位于类的顶部,因此我不能使用变量来提供值。是的,如果这解决了您的问题,请将我的答案标记为正确。谢谢。对不起,但这对我没有帮助,你可以阅读其他评论,以获得最佳上下文。谢谢:)
@RequestMapping
位于类的顶部,因此我无法使用变量提供值。是的,如果这解决了您的查询,请将我的答案标记为正确。谢谢。对不起,但这对我没有帮助,你可以阅读其他评论,以获得最佳上下文。谢谢:)