Spring-Jpa Best Practices
์คํ๋ง์ผ๋ก ๊ฐ๋ฐ์ํ๋ฉด์ ์ ๊ฐ ๋๋ ์ ๋ค์ ๋ํด์ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ์ต๋๋ค. ์์ง ๋ถ์กฑํ ๊ฒ ๋ง์ Best Practices๋ผ๋ ๋น๋นํ๊ฒ ๋งํ๊ธด ์ด๋ ต์ง๋ง, ์ ์ ๊ฐ์ ๊ณ ๋ฏผ์ ํ์๋ ๋ถ๋ค์๊ฒ ์กฐ๊ธ์ด๋ผ๋ ๋์์ด ๋๊ณ ์ถ์ด ์ด๋ ๊ฒ ์ ๋ฆฌํ์ต๋๋ค. ์ง์ํด์ ํด๋น ํ๋ก์ ํธ๋ฅผ ์ด์ด ๋์๊ฐ ์์ ์ด๋ผ ๊นํ๋ธ Start, Watching ๋ฒํผ์ ๋๋ฅด์๋ฉด ๊ตฌ๋ ์ ์ฒญ๋ฐ์ผ์ค ์ ์์ต๋๋ค. ์ ์ ๊ฒฝํ์ด ์ฌ๋ฌ๋ถ์๊ฒ ์กฐ๊ธ์ด๋ผ๋ ๋์์ด ๋๊ธฐ๋ฅผ ๊ธฐ์ํฉ๋๋ค.
๋ชฉ์ฐจ
- step-01 : Account ์์ฑ, ์กฐํ, ์์ API๋ฅผ ๊ฐ๋จํ๊ฒ ๋ง๋๋ ์์
- step-02 : ํจ๊ณผ์ ์ธ validate, ์์ธ ์ฒ๋ฆฌ (1)
- step-03 : ํจ๊ณผ์ ์ธ validate, ์์ธ ์ฒ๋ฆฌ (2)
- step-04 : Embedded๋ฅผ ์ด์ฉํ Password ์ฒ๋ฆฌ
- step-05: OneToMany ๊ด๊ณ ์ค์ ํ
- step-06: Setter ์ฌ์ฉํ์ง ์๊ธฐ
- step-07: Embedded๋ฅผ ์ ๊ทน ํ์ฉ
- step-08: OneToOne ๊ด๊ณ ์ค์ ํ
- step-09: OneToMany ๊ด๊ณ ์ค์ ํ(2)
- step-10: Properties ์ค์ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ
- step-11: Properties environment ์ค์ ํ๊ธฐ
- step-12: ํ์ด์ง API ๋ง๋ค๊ธฐ
- step-13: Query Dsl์ด์ฉํ ํ์ด์ง API ๋ง๋ค๊ธฐ
- step-14: JUnit 5์ ์ฉํ๊ธฐ
- step-15: Querydsl๋ฅผ ์ด์ฉํด์ Repository ํ์ฅํ๊ธฐ(1)
- step-16: Querydsl๋ฅผ ์ด์ฉํด์ Repository ํ์ฅํ๊ธฐ(2)
step-XX Branch ์ ๋ณด๋ฅผ ์๋ฏธํฉ๋๋ค. ๋ณด๊ณ ์ถ์ ๋ชฉ์ฐจ์ Branch๋ก checkout์ ํด์ฃผ์ธ์
์ง๋ฌธ
- Github Issue๋ฅผ ํตํด์ ์ด์๋ฅผ ๋ฑ๋กํด์ฃผ์๋ฉด ์ ๊ฐ ์๋ ๋ถ๋ถ์ ๋ํด์๋ ์ต๋ํ ๋ต๋ณ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๊ฐ๋ฐํ๊ฒฝ
- Spring boot 1.5.8.RELEASE
- Java 8
- JPA & H2
- lombok
- maven
ํ๋ก์ ํธ ์คํํ๊ฒฝ
- Lombok์ด ๋ฐ๋์ ์ค์น ๋์์ด์ผ ํฉ๋๋ค.
์คํ
$ mvn spring-boot:run
API Swagger
ํด๋น API๋ Swagger http://localhost:8080/swagger-ui.html์ผ๋ก ํ ์คํธํด ๋ณผ ์ ์์ต๋๋ค.