blurry lines between web application context layer, service layer and data access layer in spring

Posted by thenaglecode on Programmers See other posts from Programmers or by thenaglecode
Published on 2014-06-10T02:25:58Z Indexed on 2014/06/10 3:41 UTC
Read the original article Hit count: 304

Filed under:
|

I Originally asked this question in SO but on advice I have moved the question here...

I'll admit I'm a spring newbie, but you can correct me if I'm wrong, this one liner looks kinda fishy in a best practices sort of way:

@RepositoryRestResource(collectionResourceRel="people"...) public interface PersonRepository extends PagingAndSortingRepository<Person, Long>

For those who are unaware, the following does many things: It is an interface definition that can be registered in an application context as a jpa repository, automagically hooking up all the default CRUD operations within a persistence context (that is externally configured). and also configures default controller/request-mapping/handler functionality at the namespace "/people" relative to your configured dispatcher servlet-mapping.

Here's my point. I just crossed 3 conceptual layers with one line of code! this feels against my seperation-of-concern instincts but i wanted to hear your opinion. And for the sake of being on a question and answer site, I would like to know whether there is a better way of seperating these different layers - Service, Data, Controllers - whilst maintaining as minimal configuration as possible

© Programmers or respective owner

Related posts about spring

Related posts about spring-mvc