我尝试将@Required Annotation添加到我的bean中,但是编译器说它已被弃用。
@Required
public class Product { private String id; public String getId() { return id; } @Required public void setId(String id) { this.id = id; } }
对此是否有不同的注解?
dauxcl2d1#
读取documentation:从5.1开始弃用,支持使用构造函数注入进行所需设置(或自定义InitializingBean实现)。
InitializingBean
public class Product { private String id; public Product(String id) { this.id = id; } public String getId() { return id; }
7gcisfzg2#
只需使用@Autowired。
@Autowired
@Autowired public void setId(String id) { this.id = id; }
9nvpjoqh3#
我得到的最好的答案之一是这样的:
@Autowired(required = true) private String yourVariable;
如果将required设置为false,则String值将为null,并且不会出现错误如果您刚刚键入@Autowired,那么默认情况下它是必需的= true,请尝试这些来理解和阅读控制台错误消息
3条答案
按热度按时间dauxcl2d1#
读取documentation:
从5.1开始弃用,支持使用构造函数注入进行所需设置(或自定义
InitializingBean
实现)。7gcisfzg2#
只需使用
@Autowired
。9nvpjoqh3#
我得到的最好的答案之一是这样的:
如果将required设置为false,则String值将为null,并且不会出现错误
如果您刚刚键入@Autowired,那么默认情况下它是必需的= true,请尝试这些来理解和阅读控制台错误消息