Tworze sobie swój własny projekt webowy z wykorzystaniem springa i jpa. Chciałbym zapytać jaki jest sens używania klas serwisowych, które wywołują metody klas DAO tak jak w tym tutorialu: http://www.journaldev.com/3531/spring-mvc-hibernate-mysql-integration-crud-example-tutorial
np. taka klasa:
@Service
public class PersonServiceImpl implements PersonService {
private PersonDAO personDAO;
public void setPersonDAO(PersonDAO personDAO) {
this.personDAO = personDAO;
}
@Override
@Transactional
public void addPerson(Person p) {
this.personDAO.addPerson(p);
}
@Override
@Transactional
public void updatePerson(Person p) {
this.personDAO.updatePerson(p);
}
@Override
@Transactional
public List<Person> listPersons() {
return this.personDAO.listPersons();
}
Nie lepiej jest po prostu w takim przypadku korzystać bezpośrednio z metod które udostępnia nam klasa DAO? Czy może jest jakiś powód dla którego robi się to tak jak w przykładzie?