Привет, я пытаюсь внедрить объект в свой код. Но по какой-то причине он останется нулевым.
Следующие вещи я пробовал; Добавление PostConstruct (который не вызывается...) Удаление других частей CDI, чтобы просто заставить работать первую инъекцию. Также проверил, включен ли CDI в Payara.
Я добавил beans.xml в meta-inf и web-inf.
Сокращенная версия кода, в которой я вызываю bean.
public class MovieFacade implements iMovieFacade {
@Inject
private iMovieDao md;
@PostConstruct
void init(){
System.out.println(md);//I do this to test if the postConstruct is called
}
public List<Movie> getAllMovie() {
return md.getAllMovies();
}
}
Сокращенный код класса, который я пытаюсь вызвать.
@ApplicationScoped
public class MovieDao implements iMovieDao {
private DataStoreMaker dataStoreMaker;
private DCM dcm;
@PostConstruct
private void onInit(){
dataStoreMaker = new DataStoreMaker();
dcm = new DCM(dataStoreMaker.movieDS());
}
public List<Movie> getAllMovies(){
List<Movie> ml = dcm.find().asList();
return ml;
}
}
Интерфейс
public interface iMovieDao {
void newMovie(Movie movie);
Movie getId(String id);
List<Movie> getAllMovies();
void editMovie(Movie movie);
}
MovieFacade
? Как вы получаете ссылку на него? - person Nikos Paraskevopoulos   schedule 15.02.2019@ApplicationScoped
из пакетаjavax.enterprise.context
? Похоже, вы можете использовать специфичный для JSF. - person Adam Waldenberg   schedule 16.02.2019