Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建名为的bean时出错,通过字段表示的依赖关系不满足,bean初始化失败;_Java_Hibernate_Maven_Spring Mvc_Tomcat - Fatal编程技术网

Java 创建名为的bean时出错,通过字段表示的依赖关系不满足,bean初始化失败;

Java 创建名为的bean时出错,通过字段表示的依赖关系不满足,bean初始化失败;,java,hibernate,maven,spring-mvc,tomcat,Java,Hibernate,Maven,Spring Mvc,Tomcat,我从TomCat那里得到一些错误,请帮助 org.springframework.beans.factory.unsatifiedpendencyException:创建名为“userController”的bean时出错:通过字段“userService”表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.unsatifiedDependencyException: 创建名为“userserviceinpl”的bean时出错:通过字段“user

我从TomCat那里得到一些错误,请帮助

org.springframework.beans.factory.unsatifiedpendencyException:创建名为“userController”的bean时出错:通过字段“userService”表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.unsatifiedDependencyException: 创建名为“userserviceinpl”的bean时出错:通过字段“userDao”表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.BeanCreationException: 创建名为“userDAO”的bean时出错:bean初始化失败嵌套异常为java.lang.AbstractMethodError

我的UserDAO

package dao;

import entities.User;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface UserDAO extends CrudRepository<User, Integer> {
}
包dao;
导入实体。用户;
导入org.springframework.data.repository.crudepository;
导入org.springframework.stereotype.Repository;
@存储库
公共接口UserDAO扩展了crudepository{
}
我的userserviceImpl

package service.impl;

import beans.UserBean;
import dao.UserDAO;
import entities.User;
import service.EntityBeanConverter;
import service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;


import java.util.List;
import java.util.Optional;

@Service
@Transactional
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDAO userDao;

    @Autowired
    private EntityBeanConverter converter;

    @Override
    public Iterable<UserBean> getAllUsers() {
        Iterable<User> users = userDao.findAll();
        List<UserBean> beanList = converter.convertToBeanList(users, UserBean.class);

        return beanList;
    }

    @Override
    public UserBean getUserById(Integer userId) {
        Optional<User> user = userDao.findById(userId);
        UserBean bean = converter.convertToBean(user, UserBean.class);

        return bean;
    }

    @Override
    public void saveUser(UserBean user) {
        User userEntity = converter.convertToEntity(user, User.class);
        userDao.save(userEntity);
    }

    @Override
    public void deleteUser(Integer userId) {
        userDao.deleteById(userId);
    }
}
package service.impl;
导入bean.UserBean;
导入dao.UserDAO;
导入实体。用户;
导入服务.EntityBeanConverter;
导入服务.UserService;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.stereotype.Service;
导入org.springframework.transaction.annotation.Transactional;
导入java.util.List;
导入java.util.Optional;
@服务
@交易的
公共类UserServiceImpl实现UserService{
@自动连线
私有UserDAO UserDAO;
@自动连线
专用实体BeanConverter转换器;
@凌驾
公共Iterable getAllUsers(){
Iterable users=userDao.findAll();
List beanList=converter.convertToBeanList(users,UserBean.class);
返回beanList;
}
@凌驾
公共UserBean getUserById(整数userId){
可选用户=userDao.findById(userId);
UserBean=converter.convertBean(用户,UserBean.class);
返回豆;
}
@凌驾
公共void saveUser(UserBean用户){
User userEntity=converter.convertToEntity(User,User.class);
保存(userEntity);
}
@凌驾
public void deleteUser(整数用户ID){
userDao.deleteById(userId);
}
}
我的用户控制器

package controller;

import beans.UserBean;
import service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

@Controller
class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping("/users.html")
    public ModelAndView showUsersPage() {
        ModelAndView modelAndView = new ModelAndView("users");
        return modelAndView;
    }

    @RequestMapping("/update-user.html")
    public ModelAndView updateUser(@RequestParam(name = "user_id") Integer userId) {
        ModelAndView modelAndView = new ModelAndView("users");

        UserBean user = userService.getUserById(userId);
        modelAndView.addObject("user", user);

        return modelAndView;
    }

    @RequestMapping("/delete-user.html")
    public ModelAndView deleteUser(@RequestParam(name = "user_id") Integer userId) {
        userService.deleteUser(userId);

        ModelAndView modelAndView = new ModelAndView("redirect:users.html");
        return modelAndView;
    }

    @RequestMapping(value = "/save-user.html", method = RequestMethod.POST)
    public ModelAndView saveUser(UserBean user) {
        userService.saveUser(user);

        ModelAndView modelAndView = new ModelAndView("redirect:users.html");
        return modelAndView;
    }

    @ModelAttribute(name = "userList")
    private Iterable<UserBean> getUserList() {
        Iterable<UserBean> userList = userService.getAllUsers();
        return userList;
    }

    @ModelAttribute(name = "user")
    private UserBean getEmptyUser() {
        return new UserBean();
    }
}
包装控制器;
导入bean.UserBean;
导入服务.UserService;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.stereotype.Controller;
导入org.springframework.web.bind.annotation.ModelAttribute;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.RequestMethod;
导入org.springframework.web.bind.annotation.RequestParam;
导入org.springframework.web.servlet.ModelAndView;
@控制器
类用户控制器{
@自动连线
私人用户服务;
@请求映射(“/users.html”)
公共模型和视图showUsersPage(){
ModelAndView ModelAndView=新的ModelAndView(“用户”);
返回模型和视图;
}
@请求映射(“/update user.html”)
public ModelAndView updateUser(@RequestParam(name=“user\u id”)整数userId){
ModelAndView ModelAndView=新的ModelAndView(“用户”);
UserBean user=userService.getUserById(userId);
添加对象(“用户”,用户);
返回模型和视图;
}
@请求映射(“/delete user.html”)
public ModelAndView deleteUser(@RequestParam(name=“user\u id”)整数userId){
userService.deleteUser(userId);
ModelAndView ModelAndView=newmodelandview(“redirect:users.html”);
返回模型和视图;
}
@RequestMapping(value=“/save user.html”,method=RequestMethod.POST)
公共模型和视图保存用户(UserBean用户){
userService.saveUser(用户);
ModelAndView ModelAndView=newmodelandview(“redirect:users.html”);
返回模型和视图;
}
@ModelAttribute(name=“userList”)
私有Iterable getUserList(){
Iterable userList=userService.getAllUsers();
返回用户列表;
}
@ModelAttribute(name=“user”)
私有用户bean getEmptyUser(){
返回新的UserBean();
}
}

我不知道哪里可以找到我的错误问题,也许有人能帮我

您的DAO类引用了entity.User,但未包含在您的文章中。通过阅读堆栈跟踪,不满意的依赖关系会将您带到前面的每一层。在这种情况下,无法初始化在UserDao处结束。这里的依赖关系取决于用户对象。我认为您可能缺少一些Hibernate注释,或者在用户对象类中存在类型问题(整数/整数)或类似问题。我想看看您为组件扫描设置了哪个包?模块实体中的用户对象,模块dao和服务中的组件扫描(applicationContext文件)@H4X00RS,您对此做了什么?