В проекте весной я могу использовать аннотацию @Autowired
.Как использовать аналоговую @Автоматизированную аннотацию в JavaEE (@Inject)?
@Service
public class DefaultUserService implements UserService {
...
@Autowired
private UserDao userDao;
Но я не понимаю, как это делается в проекте JavaEE. Я нашел:
@ Inject частный AvayaDao avayaDao;
Но мой avayaDao является NULL. Я пробовал добавить аннотацию
@Default
public class AvayaService {
...
@Inject
private AvayaDao avayaDao;
но не помогло. Это идентификатор мой Dao:
public interface AvayaDao extends BaseDao<AvayaSdr> {
List<AvayaSdr> getAll();
void insertCdr(AvayaSdr avayaSdr);
}
Это Моя_служба:
@Default
public class AvayaService {
private static AvayaService instance;
@Inject
private AvayaDao avayaDao;
public synchronized static AvayaService me() {
if (instance == null) {
instance = new AvayaService();
}
return instance;
}
public Set<String> selectAllLoadedAVAYAcmCDRFiles() {
Set<String> result = new HashSet<>();
List<AvayaSdr> resultList = avayaDao.getAll();
for (AvayaSdr avayaSdr : resultList) {
result.add(avayaSdr.getHashValue());
}
return result;
}
public void insertCdr(String fileHash) {
AvayaSdr avayaCmCdr = new AvayaSdr("", fileHash, 0);
avayaDao.insertCdr(avayaCmCdr);
}
java.lang.NullPointerException
AvayaDao должен быть EJB. КАКИЕ??????????? – user5620472
"* В Java EE 7 должен быть установлен атрибут' bean-discovery-mode = "all" '. *" "* Must *"? Java EE 7 даже не задает файл 'beans.xml'. – Tiny
@Tiny Если обновил мой ответ во второй раз :) –