java - 是否可以在构造函数上使用@Resource?

我想知道是否可以在构造函数上使用 @Resource 注释。

我的用例是我想连接一个名为 bar 的最终字段。

public class Foo implements FooBar {

    private final Bar bar;

    @javax.annotation.Resource(name="myname")
    public Foo(Bar bar) {
        this.bar = bar;
    }
}

我收到一条消息,指出此位置不允许使用 @Resource。有没有其他方法可以连接 final 字段?

最佳答案

来自@Resource的来源:

@Target({TYPE, FIELD, METHOD})
@Retention(RUNTIME)
public @interface Resource {
    //...
}

这一行:

@Target({TYPE, FIELD, METHOD})

表示这个注解只能放在Classes、Fields和Methods上。 CONSTRUCTOR不见了。

https://stackoverflow.com/questions/5831128/

相关文章:

java - Spring 抛出 HttpMediaTypeNotAcceptableExcepti

java - Spring Boot 禁用/错误映射

spring - 无法 Autowiring ServletContext

spring - 如何在 Thymeleaf 和 Spring Boot 中显示消息?

java - 具有 session 支持的 Spring mvc 3.1 集成测试

spring - 从 Spring boot 1.2 升级到 1.5.2 后,Tomcat 8.5

java - Thymeleaf:如何获取 URL 属性值

java - Weblogic 数据源从 JNDI 树中消失

java - Spring MVC 示例 Web 应用程序

spring - 如何配置 Spring Data REST 以返回为 POST 请求创建的资源的表