java - Spring:为@ModelAttribute创建元注释

标签 java spring spring-mvc

我有很多带有此代码的 Controller :

@RequestMapping("/test1")
public String test (@ModelAttribute("page") Page page) {
...
}

@RequestMapping("/test2")
public String test2 (@ModelAttribute("page") Page page) {
...
}

是否可以在 Spring (4.3) 中创建一个元注释来缩短此注释,如下所示:

@RequestMapping("/test3")
public String test2 (@MyCustom Page page) {
...
}

那么 @ModelAttribute("page") 将变成 @MyCustom?

最佳答案

不幸的是,这行不通。 As you can see in the sources , ModelAttribute 已注释

@Target({ElementType.PARAMETER, ElementType.METHOD})

which means it can be applied to methods and method parameters only 。对于元注释,它必须应用于类型级别。

参见Spring Annotation Programming Model了解详细信息,但基本上这是元注释不起作用的边缘情况。

关于java - Spring:为@ModelAttribute创建元注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38055980/

相关文章:

java - 使用以数据为中心的方法在 Spring MVC 中维护干净的架构

java - Dagger 2 子类比父类具有更具体的依赖关系

Java Stream API - 计算嵌套列表的项目

java - 如何通过将私有(private)变量作为类成员函数中的参数传递来覆盖私有(private)变量?

java - 使用 Apache Async Http 客户端进行异步响应流

java - 如何在 Java 中使用 Exchange 获取邮件

java - 如何准确地工作基于 Spring Inheritance 的代理配置?

java - 如果 Controller 中抛出异常,Spring JPA 回滚事务

Spring 安全和远程处理

java - Spring MVC : import collides with another import statement