所以我有一个包含类别字段的bean。如果该类别字段设置为特定值,例如“MATCH”,我想初始化一个bean。然而,在类别的设定者中进行这种反模式是一种反模式,我想知道在这种情况下是否可以认为是好的,或者可能有更好的方法来做到这一点。 我不想使用postConstruct,因为bean的使用时间非常短。因此,在这种情况下,我认为在PostConstruct中进行DB调用是不合理的。
@Named
@ViewScoped
public class BeanA implements Serializable {
private Category category;
@Inject
private MatchCreation matchCreation;
public void setCategory(Category category) {
this.category = category;
if("MATCH".equals(category.getName()){
matchCreation.init(); // I'll put a check here to not initialize it twice
}
}
}
@Named
@ViewScoped
public class MatchCreation {
private List<Team> teamList;
private List<Map> mapList;
@EJB
private TeamService ts;
@EJB
private MapService ms;
public void init() {
teamList = ts.getProTeams();
setMapList(ms.getAllMaps());
}
}
同样在那个特定的豆子里,我有9次注射。我不必害怕使用这些权利,我不必尝试最低限度吗?