springMVC,@Requestmapper(value=)这个value如何才能达到从配置文件中读取

浅浅浅浅 发布于 2016/10/25 10:36
阅读 544
收藏 0

1.我试过写在配置文件中读取,但是发现这个value值只规定要final才可以。

2.也试过先读取到再赋值给一个fianl常量但是也不行

3.不管我怎么赋值到这个value这都会提示必须要用常量,有没有遇到同样问题的大神解决了的帮帮我

加载中
1
逝水fox
逝水fox

http://docs.spring.io/spring/docs/3.2.17.RELEASE/spring-framework-reference/htmlsingle/#mvc-ann-requestmapping-placeholders

从Spring3.2支持,在RequestMapping的value中以${}的方式引用配置文件中的值,也就是说,你可以使用 @RequestMapping("${url.user.edit}.html") 这样配置。

配置文件通过PropertyPlaceholderConfigurer或<context:property-placeholder>加载

浅浅浅浅
您这边可以写个简单的案例吗。我试了下不行...我想可能我做法错了
1
阿信sxq
阿信sxq

楼主,你所说的那个我以前也想过,但是貌似从原理上来说就不行啊。

因为java里面的注解有些是在编译期有效,然后运行期就没有效果了,但是语法检查那些没有仔细检查哪些是编译有效哪些是运行有效的,所以注解里面的值要求在编译的时候是确定的值,那你说的那个就没有办法咯。

但是有一个折中的办法实现————使用static的的常量。建一个类,准备各种配置的static常量,这样貌似可以在一定程度达到你说的目的。

浅浅浅浅
恩,本来就是用的你说的,我只是想进一步
0
GYW
GYW

可以看下这个文章,不知道是不是你想要的效果

http://blog.csdn.net/white__cat/article/details/42103155

浅浅浅浅
回复 @GYW : 我不是要这种哦,这是使用value注解加载配置文件中的值,我必须要有一个常量,但是用fianl修饰的变量就必须要赋值,或则就在构造方法中赋值,但是value注解又不能写在构造方法中。。。
阿信sxq
阿信sxq
回复 @GYW : 的确是没有办法的,我想可以用静态常量来将就下
GYW
GYW
回复 @阿信sxq : 直接配置文件的话好像没有办法吧,能想到的只有这个了
阿信sxq
阿信sxq
回复 @GYW : 不行的,那篇文章的方法是用来把配置文件的内容注入到实例里面。而楼主说的是用配置文件的内容来配置注解
GYW
GYW
回复 @阿信sxq : 可以通过这种方式把配置实例化为对象,有对象就可以随便用到任何对象了,这样就可以通过这个对象给@Requestmapper中的value赋值了啊
下一页
返回顶部
顶部