Я все еще не на 100% понятен, но так голый со мной.CDI: Получение нулевого значения вместо нового экземпляра
Я считаю, что если вы введете компонент с помощью ApplicationScope, и он никогда не был инстанцирован, CDI даст вам нулевое значение.
Однако, если вы создаете новый экземпляр и затем пытаетесь ввести его в более позднюю точку, он отлично работает и с этого момента будет продолжать работать нормально.
В JSF-инъекции Dependency вам никогда не приходилось создавать его один раз. Я считаю, что JSF будет делать что-то вроде
//pseudo code
AtStartUp() {
if (applicationScoped)
create new Instance();
или, возможно,
AtInjectionPoint() {
if (applicationScoped && null)
return new Instance();
else return Instance;
Хотя я считаю, КДИ делает что-то вроде
AtInjectionPoint() {
return Instance;
Можете ли вы следовать за мной здесь? Моя проблема заключается в том, что в каждом случае каждый экземпляр с компонентами, который есть, имеет значение null, если мы его не создадим. Нам бы очень хотелось, чтобы CDI каким-то образом справлялся с этим и вел себя как один из первых двух примеров псевдокодов ...
Кто-нибудь знает об этом больше? Кажется, очень сложно найти информацию об этом.
Yepp смешанный. Был довольно уверен, что я отредактировал его из faces-config, но каким-то образом он застрял со мной. Спасибо –