我在启动我的web应用程序时遇到了这个错误,我真的不知道问题出在哪里,全速:
组织。springframework。豆。工厂UnsatisfiedPendencyException:创建名为“usuarioController”的bean时出错,该名称在文件[C:\Users\Carlos\eclipsejee workspace.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\RedSocial\WEB-INF\classes\unce\cum\mydai\RedSocial\controller\usuarioController.class]中定义:通过构造函数参数0表示的未满足的依赖关系;嵌套的异常是org。springframework。豆。工厂UnsatifiedPendencyException:创建名为“usuarioServiceImpl”的bean时出错:通过方法“setUsuarioDAO”参数0表示的未满足的依赖关系;嵌套的异常是org。springframework。豆。工厂UnsatifiedPendencyException:创建名为“UsuariodAimpl”的bean时出错,该名称在文件[C:\Users\Carlos\eclipsejee workspace.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\RedSocial\WEB-INF\classes\une\cum\mydai\RedSocial\dao\usuariodAimpl.class]:通过构造函数参数0表示的未满足的依赖关系;嵌套的异常是org。springframework。豆。工厂NoSuchBeanDefinitionException:没有“javax”类型的合格bean。坚持不懈EntityManager可用:至少需要1个符合autowire候选资格的bean。依赖项注释:{}
这些是类:
常用控制器
package es.unex.cum.mydai.redsocial.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import es.unex.cum.mydai.redsocial.services.UsuarioService;
import es.unex.cum.mydai.redsocial.vo.UsuarioVO;
@Controller
public class UsuarioController {
private final UsuarioService usuarioService;
@Autowired
public UsuarioController(UsuarioService usuarioService) {
this.usuarioService = usuarioService;
}
@RequestMapping(value = "/registro", method = RequestMethod.GET)
public String registro(ModelMap model) {
UsuarioVO usuario = new UsuarioVO();
model.put("usuario", usuario);
return "registro";
}
}
日常服务
package es.unex.cum.mydai.redsocial.services;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import es.unex.cum.mydai.redsocial.dao.UsuarioDAO;
import es.unex.cum.mydai.redsocial.vo.UsuarioVO;
@Component
public class UsuarioServiceImpl implements UsuarioService {
private UsuarioDAO usuarioDAO;
public UsuarioServiceImpl() {}
public UsuarioDAO getUsuarioDAO() {
return usuarioDAO;
}
@Autowired
public void setUsuarioDAO(UsuarioDAO usuarioDAO) {
this.usuarioDAO = usuarioDAO;
}
public UsuarioVO insertarUsuario(UsuarioVO usuario) {
return this.usuarioDAO.create(usuario);
}
public UsuarioVO findbyId(Long id) {
return this.usuarioDAO.read(id);
}
public UsuarioVO updateUsuario(UsuarioVO usuario) {
return this.usuarioDAO.update(usuario);
}
public void borrarUsuario(UsuarioVO usuario) {
this.usuarioDAO.delete(usuario);
}
public Set<UsuarioVO> findbyName(String name) {
return this.usuarioDAO.findByName(name);
}
public UsuarioVO login(String username) {
return this.usuarioDAO.login(username);
}
}
往常DAOImpl
package es.unex.cum.mydai.redsocial.dao;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.persistence.Table;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import es.unex.cum.mydai.redsocial.vo.UsuarioVO;
@Component
@Transactional
public class UsuarioDAOImpl implements UsuarioDAO {
@PersistenceContext
protected EntityManager entityManager;
public UsuarioDAOImpl(EntityManager entityManager) {
this.entityManager = entityManager;
}
public UsuarioVO create(UsuarioVO usuario) {
this.entityManager.persist(usuario);
return usuario;
}
public UsuarioVO read(Long id) {
return this.entityManager.find(UsuarioVO.class, id);
}
public UsuarioVO update(UsuarioVO usuario) {
this.entityManager.merge(usuario);
return usuario;
}
public void delete(UsuarioVO usuario) {
usuario = this.entityManager.merge(usuario);
this.entityManager.remove(usuario);
}
@SuppressWarnings("unchecked")
public Set<UsuarioVO> findByName(String name) {
Query query = entityManager.createQuery(
"SELECT * FROM "+UsuarioVO.class.getAnnotation(Table.class).name()+" WHERE name LIKE ?1 OR username LIKE ?2", UsuarioVO.class);
query.setParameter(1, "%"+name+"%");
query.setParameter(2, "%"+name+"%");
return new HashSet<UsuarioVO>(query.getResultList());
}
public UsuarioVO login(String username) {
Query query = entityManager.createQuery(
"SELECT * FRO "+UsuarioVO.class.getAnnotation(Table.class).name()+" WHERE username = ?1", UsuarioVO.class);
query.setParameter(1, username);
return (UsuarioVO) query.getSingleResult();
}
}
信息非常明确:
@PersistenceContext
protected EntityManager entityManager;
您正在自动连接EntityManager
,而无需在任何地方定义它。您需要一个带有@Configuration
注释的类。
我正在开发Spring Boot应用程序,在启动服务器时遇到了这个错误。我不确定是否错误地定义了任何注释或缺少任何依赖项。任何帮助都将不胜感激。 主要类: UserService类: UserDAO类: @repository公共类UserDAO实现IUserDAO{ Build.gradle: 错误消息: 我看到了所有相关的答案,并尝试实现这些建议,如添加依赖项、在主类中添加符号等。但它显示了相
我正在使用Spring Boot 2.2.4并尝试自定义执行器 以下是相关的课程
我想在xml JDBCTemolate上进行配置。 看起来是这样的 JDBCrepository: 控制器:
控制器: 型号: 存储库: web.xml
创建在类路径资源[ApplicationContext.xml]中定义的名为“sessionFactory”的bean时出错:调用init方法失败;嵌套异常为java。lang.NoSuchMethodError:javax。坚持不懈唯一约束。name()Ljava/lang/String; 这有什么不对吗? 我用的是 有人告诉我这是“hibernate-jpa-2.0-api-1.0.0.jar