java Spring @Required注解已弃用?

j0pj023g  于 2023-01-15  发布在  Java
关注(0)|答案(3)|浏览(462)

我尝试将@Required Annotation添加到我的bean中,但是编译器说它已被弃用。

public class Product {
    private String id;
    
    public String getId() {
        return id;
    }

    @Required
    public void setId(String id) {
        this.id = id;
    }
}

对此是否有不同的注解?

dauxcl2d

dauxcl2d1#

读取documentation
从5.1开始弃用,支持使用构造函数注入进行所需设置(或自定义InitializingBean实现)。

public class Product {
   private String id;

   public Product(String id) {
      this.id = id;
   }

   public String getId() {
      return id;
   }
7gcisfzg

7gcisfzg2#

只需使用@Autowired

@Autowired
public void setId(String id) {
    this.id = id;
}
9nvpjoqh

9nvpjoqh3#

我得到的最好的答案之一是这样的:

@Autowired(required = true)
private String yourVariable;

如果将required设置为false,则String值将为null,并且不会出现错误
如果您刚刚键入@Autowired,那么默认情况下它是必需的= true,请尝试这些来理解和阅读控制台错误消息

相关问题