Java JBOSS应用程序未启动,错误上下文初始化失败:
我有以下错误: 上下文初始化失败:org.springframework.beans.factory.BeanCreationException:创建名为“contactService”的bean时出错:自动连线依赖项的注入失败;嵌套异常为org.springframework.beans.factory.BeanCreationException:无法自动连线字段:私有uaiContacts.repository.ContactRepository uaiContacts.service.ContactService.ContactRepository;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项类型为[uaiContacts.repository.ContactRepository]的匹配bean:至少需要1个符合此依赖项autowire候选项条件的bean。依赖项注释:{@org.springframework.beans.factory.annotation.Autowiredrequired=true} 这是生成错误的类: 这是存储库:Java JBOSS应用程序未启动,错误上下文初始化失败:,java,spring,hibernate,spring-mvc,jboss,Java,Spring,Hibernate,Spring Mvc,Jboss,我有以下错误: 上下文初始化失败:org.springframework.beans.factory.BeanCreationException:创建名为“contactService”的bean时出错:自动连线依赖项的注入失败;嵌套异常为org.springframework.beans.factory.BeanCreationException:无法自动连线字段:私有uaiContacts.repository.ContactRepository uaiContacts.service.Co
这应该做什么而不是产生错误?您在这里的目标是什么?您是如何尝试修复它的?您是否在上下文路径中有ContactRepository的实现类?您是否可以在xml中附加存储库配置?我将如何在xml中执行此操作?因为我是新手。。。
package uaiContacts.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.security.access.annotation.Secured;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import uaiContacts.repository.ContactRepository;
import uaiContacts.model.Contact;
import uaiContacts.vo.ContactListVO;
@Service
@Transactional
public class ContactService {
@Autowired
private ContactRepository contactRepository;
@Transactional(readOnly = true)
public ContactListVO findAll(int page, int maxResults) {
Page<Contact> result = executeQueryFindAll(page, maxResults);
if(shouldExecuteSameQueryInLastPage(page, result)){
int lastPage = result.getTotalPages() - 1;
result = executeQueryFindAll(lastPage, maxResults);
}
return buildResult(result);
}
public void save(Contact contact) {
contactRepository.save(contact);
}
@Secured("ROLE_ADMIN")
public void delete(int contactId) {
contactRepository.delete(contactId);
}
@Transactional(readOnly = true)
public ContactListVO findByNameLike(int page, int maxResults, String name) {
Page<Contact> result = executeQueryFindByName(page, maxResults, name);
if(shouldExecuteSameQueryInLastPage(page, result)){
int lastPage = result.getTotalPages() - 1;
result = executeQueryFindByName(lastPage, maxResults, name);
}
return buildResult(result);
}
private boolean shouldExecuteSameQueryInLastPage(int page, Page<Contact> result) {
return isUserAfterOrOnLastPage(page, result) && hasDataInDataBase(result);
}
private Page<Contact> executeQueryFindAll(int page, int maxResults) {
final PageRequest pageRequest = new PageRequest(page, maxResults, sortByNameASC());
return contactRepository.findAll(pageRequest);
}
private Sort sortByNameASC() {
return new Sort(Sort.Direction.ASC, "name");
}
private ContactListVO buildResult(Page<Contact> result) {
return new ContactListVO(result.getTotalPages(), result.getTotalElements(), result.getContent());
}
private Page<Contact> executeQueryFindByName(int page, int maxResults, String name) {
final PageRequest pageRequest = new PageRequest(page, maxResults, sortByNameASC());
return contactRepository.findByNameLike(pageRequest, "%" + name + "%");
}
private boolean isUserAfterOrOnLastPage(int page, Page<Contact> result) {
return page >= result.getTotalPages() - 1;
}
private boolean hasDataInDataBase(Page<Contact> result) {
return result.getTotalElements() > 0;
}
}
package uaiContacts.repository;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
import uaiContacts.model.Contact;
@Repository
public interface ContactRepository extends PagingAndSortingRepository<Contact, Integer> {
Page<Contact> findByNameLike(Pageable pageable, String name);
}