[Spring] 패키지 구성

춤추는 머쉬룸·2023년 8월 28일
0
post-thumbnail

패키지를 왜 그렇게 해...?

스프링을 배우기 전에는 패키지가 꼭 필요한 건가 싶었다. 심지어 처음 자바를 배울 때에는 한 파일 안에 여러 클래스를 구성하기도 했다. 그렇지만 지금은 그러면 안된다는 걸 알고있다!

마찬가지로 패키지도 기능별로 나눠야 Spring을 제대로 사용할 수 있다고 한다. (사실 그제 처음 들어서 무슨 말인지는 잘 모르겠다ㅎㅎ)

패키지는 크게 controller, service, domain, repository, dto 등으로 나눈다고 한다.

1. controller

내가 봤을 때 이 친구는 api를 모아둔 곳인 것 같다.

2. service

여기는 비즈니스 로직을 쓰는 데라고 하는데 그냥 보면 CRUD 랑 관련된 것 같다.

3. domain (entity)

이 친구는 아주 쉽다! 테이블 이름을 클래스 이름으로 해서 각각 컬럼을 필드로 적으면 되는 것 같다. id, username, password 등 처럼 말이다. domain 이라고도 쓰고 entity 라고도 쓰는 것 같은데 차이는 잘 모르겠다.

4. repository

여기는 데이터베이스랑 연결되는 곳 같은데 Spring Data Jpa를 쓰면 딱히 쓸 코드가 없다. JpaRepository<사용할 entity, id>를 extends 하면 되는 것 같다.

5. dto

이 친구는 정말 모르겠다. 설명에는 domain 과 비슷하나 비즈니스 로직에 맞춘 필드만 생성한다고 한다.


오늘은 정말 간단히 패키지에 대해 적어보았다. 몇 글자 안 적었지만 이 와중에도 틀렸을 수 있음을 염두하자. 왜냐! 프로젝트 하다가 친구가 짠 코드 보고 뇌피셜로 적어본 거니까!

다음에 더 많이 공부해서 업데이트 해야겠다.
그럼 이만!

1개의 댓글

comment-user-thumbnail
2023년 8월 28일

머싯따 ㅎㅎㅎ

답글 달기