Prezados,
Estou comecando a fazer uns testes segundo DDD e fiz essa classe de dominio:
public class Disciplina implements Serializable{
private int id;
private String denominacao;
@Transient
private DisciplinaRepository repository;
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Length(min=3, max=80, message="O campo denominação deve conter entre {min} e {max} caracteres.")
@Column(length=80,unique=false,nullable=false)
public String getDenominacao() {
return denominacao;
}
public void setDenominacao(String denominacao) {
this.denominacao = denominacao;
}
@Autowired
public void setRepository(@Qualifier("disciplinaRepository") DisciplinaRepository repository) {
this.repository = repository;
}
public void save() {
repository.executePersist(this);
}
public void delete() {
repository.executeDelete(this);
}
public List<Disciplina> listAll() {
return repository.listAll();
}
public Disciplina load() {
return repository.findById(this.id);
}
}
Estou tomando nullpointer quando tento acessar algum metodo do repository
public List<Disciplina> listAll() {
return repository.listAll();
}
Dá nullpointer na linha: return repository.listAll();
Percebi que o setRepository não está sendo chamado.
Essa classe precisa de anotação @component? Já coloquei e já removi, mas continua sem passar pelo setRepository, e acho que por isso está dando nullpointer.
A classe DisciplinaRepository também está anotada com @component...
Sugestões?