java - 在类中的所有 setter 上使用 Spring @Autowired

标签 java spring dependency-injection annotations autowired

是否可以指定所有 setter 都应使用一个注释 Autowiring ?

这是我的课:

@Component
public class MyClass {

    private static Bean1 bean1;
    //...
    private static BeanN beanN;

    public static Bean1 getBean1() {
        return bean1;
    }
    @Autowired
    public void setBean1(Bean1 bean1) {
        MyClass.bean1 = bean1;
    }
    //...
    public static BeanN getBeanN() {
        return beanN;
    }
    @Autowired
    public void setBeanN(BeanN beanN) {
        MyClass.beanN = beanN;
    }
}

最佳答案

没有。没有这样的内置注释。另外,Spring 并不关心你的方法是否被解释为 bean mutator(setter)。任何方法都可以用 @Autowired 进行注释Spring 将尝试使用适当的参数来调用它。

<小时/>

由于 Spring 的重点是依赖注入(inject),因此没有理由拥有 static 字段。只需将 bean 注入(inject)您需要的地方即可。

关于java - 在类中的所有 setter 上使用 Spring @Autowired,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32762830/

相关文章:

java - Spring bean 整数注入(inject)失败

java - 实例化一个类还是不实例化?

Java:Clob 到 byte[]

java - 在 while 循环中等待用户操作 - JAVA

java - hibernate 错误?

java - Hibernate 5.2 和 Spring 4.3,非 JPA - javax.persistence.TransactionRequiredException : no transaction is in progress

c# - 如何在后台任务中使用具有依赖性的作用域服务

java - 根据请求的类类型注入(inject)依赖项

java - @RequestParam 的 Spring 转换器

java - 在一个 jvm 中运行多个 Spring Boot jar