当我们在spring中删除DAO层中的@Repository时会发生什么?

时间:2017-02-15 11:27:29

标签: spring-mvc

当我们在spring中删除DAO图层中的@Repository注释时会发生什么?

@Repository 
public class EmployeeService {

    // ....

    @Transactional
    public int createEmployee(Employee emp) {
        //create Employee
        employeeDao.createEmployee(emp);

        User user = new User();
        // some fileds of employee are used to create a User
        user.setEmployeeId(emp.getEmployeeId());
        // ....

        userDao.createUser(user);
        // ...
    }
}

2 个答案:

答案 0 :(得分:1)

如果未使用任何注释或未在xml配置中分别创建注释,则会出现以下异常。 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有名为'employeeService'的bean

答案 1 :(得分:1)

  

您将获得:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'employeeService'

@Repository是创建一个bean,它表示带注释的类是 Repository

  • 您可以保留@Repository,也可以在applicationContext.xml

  • 中添加bean定义
  • @Repository

    中删除applicationContext.xml并且没有指定bean时

    结果:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'employeeService'