2017-02-15 7 views
0

Что происходит, когда мы снимаем аннотацию @Repository в слое DAO весной?Что происходит, когда мы удаляем @Repository в слое DAO весной?

@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); 
     // ... 
    } 
} 

ответ

1

Вы получите: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'employeeService'

@Repository является создание боб и это означает, что аннотированный класс является Репозиторий.

  • Либо вы можете сохранить @Repository или вы можете добавить определение бина в applicationContext.xml

  • При удалении @Repository и не боб не указано в applicationContext.xml

    Результат: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'employeeService'

1

Вы получите следующее исключение, если вы не используете какие-либо аннотации или не созданы в конфигурации xml. org.springframework.beans.factory.NoSuchBeanDefinitionException: Нет боба под названием «EmployeeService»