๋ฐ˜์‘ํ˜•
kkh1902
Steadily
kkh1902
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (151)
    • ๐Ÿ“š Study (1)
      • Spring (9)
      • Java (2)
      • Html, css (10)
      • JS, JQuery (29)
      • DB (5)
      • DevOps (13)
      • roadmap (2)
      • Architecture (1)
      • Flutter (2)
    • ๐Ÿ’ป Computer Science (28)
      • Datastructure (0)
      • Algorithm (2)
      • Design pattern (0)
      • Network (1)
      • DB (13)
      • Operating System (0)
      • Software Engineering (4)
      • CS interview (5)
      • topcit (3)
    • โš’๏ธ Etc (4)
      • Error (3)
      • Trouble_Shooting (1)
    • ๐Ÿ“ฐ News (0)
      • daily (7)
      • think (17)
    • ๐Ÿ“˜ Hobby (13)
      • English (13)
    • ๐Ÿค– AI (7)
      • ML (7)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ“‹ ์ด๋ ฅ์„œ
  • โšก๏ธ ๊นƒํ—ˆ๋ธŒ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ #project๋งŒ๋“ค๋•Œ ์ค‘์š”
  • Flutter
  • git
  • Linear Regression
  • React๋ฅผ ๋ฐฐ์›Œ์•ผํ•˜๋Š” ์ด์œ 
  • Qr_payment project # CSS ํ•ด์„ # Basic ๋งจ์œ„ ํ•ด์„
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ # chapter1
  • React # JSX
  • React JS # ์ž์Šต์„œ # Component์™€ Props
  • testcode
  • React JS # 2 The Basic of React
  • junit5
  • SpringBootTest
  • think #bootstrap์„ ์จ์•ผํ•˜๋Š” ์ด์œ 
  • db
  • sourcetreee
  • git stash
  • Wonder # word
  • React JS #์ž์Šต์„œ
  • gitaction

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ธ€์“ฐ๊ธฐ / ๊ด€๋ฆฌ์ž
kkh1902

Steadily

๐Ÿ“š Study/Spring

repository, domain, controller, service ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋กœ ๋‹ค ํ…Œ์ŠคํŠธ ํ•ด์•ผํ•˜๋Š”์ง€? ํ…Œ์ŠคํŠธ ์ˆœ์„œ๋„ ์•Œ์•„๋ณด์ž

2023. 5. 1. 21:28
728x90
๋ฐ˜์‘ํ˜•

์ผ๋ฐ˜์ ์œผ๋กœ Spring Boot ํ”„๋กœ์ ํŠธ์—์„œ๋Š” Repository, Service, Controller ๋“ฑ์˜ ๊ณ„์ธต(layer)๋ณ„๋กœ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

 

Repository

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ CRUD(Create, Read, Update, Delete) ๋กœ์ง์„ ๋‹ด๋‹นํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต In-Memory DB(์˜ˆ: H2)๋ฅผ ์ด์šฉํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Service

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๋‹นํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. Repository๋ฅผ Mockingํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Controller

HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต ์ฒ˜๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. MockMvc๋ฅผ ์ด์šฉํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

๋˜ํ•œ, Domain์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค๋กœ, ๋ณ„๋„์˜ ํ…Œ์ŠคํŠธ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, Domain ๊ฐ์ฒด์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋กœ์ง์ด ์žˆ๋‹ค๋ฉด, ์ด๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ฒฐ๋ก ์ ์œผ๋กœ, ๋ชจ๋“  ๊ณ„์ธต์˜ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ค‘์š”ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด๋‚˜ ์—๋Ÿฌ ํ•ธ๋“ค๋ง๊ณผ ๊ฐ™์ด ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์ˆ˜์ ์ธ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 


์ผ๋ฐ˜์ ์œผ๋กœ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์˜ ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

1. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

- ์ž…๋ ฅ ๊ฐ’์— ๋Œ€ํ•œ ๊ฒ€์ฆ์ด๋‚˜ ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

2. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

- ๋ชจ๋“ˆ ๋˜๋Š” ํ•จ์ˆ˜ ๋‹จ์œ„์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

- ์ด ๋‹จ๊ณ„์—์„œ๋Š” ๋ชจ๋“ˆ ๋˜๋Š” ํ•จ์ˆ˜๊ฐ€ ์˜๋„ํ•œ ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

3. ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

- ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•œ ๋ชจ๋“ˆ์ด๋‚˜ ํ•จ์ˆ˜๋“ค์„ ํ†ตํ•ฉํ•˜์—ฌ ์ „์ฒด ์‹œ์Šคํ…œ์˜ ๋™์ž‘์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

4. ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ

- ์ „์ฒด ์‹œ์Šคํ…œ์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

- ์„ฑ๋Šฅ, ์•ˆ์ •์„ฑ, ๋ณด์•ˆ ๋“ฑ ์‹œ์Šคํ…œ ์ „๋ฐ˜์ ์ธ ๋™์ž‘์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ์ˆœ์„œ๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์™€ ๋””๋ฒ„๊น…์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜์ ์œผ๋กœ ๋”ฐ๋ฅด๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ ํ”„๋กœ์ ํŠธ์˜ ์ƒํ™ฉ์— ๋”ฐ๋ผ ํ…Œ์ŠคํŠธ ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š Study > Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

spring.jpa.hibernate.ddl-auto์˜ ์ข…๋ฅ˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•  (0) 2023.08.26
User@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)๊ตณ์ด RANDOM_PORT๋ฅผ ํ•˜๋Š” ์ด์œ   (0) 2023.05.02
junit4 ์™€ junit 5 ์˜ ์ฐจ์ด์ ๊ณผ ์žฅ๋‹จ์  ๊ทธ๋ฆฌ๊ณ  ๋ญ๋ฅผ ๋”๋งŽ์ด ์“ฐ์ด๋Š”์ง€?  (0) 2023.05.01
Thymeleaf Fragment (Fragment ๋‚˜๋ˆ„๊ธฐ)  (0) 2022.09.06
Spring์ด๋ž€?  (0) 2022.08.06
    '๐Ÿ“š Study/Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • spring.jpa.hibernate.ddl-auto์˜ ์ข…๋ฅ˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•
    • User@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)๊ตณ์ด RANDOM_PORT๋ฅผ ํ•˜๋Š” ์ด์œ 
    • junit4 ์™€ junit 5 ์˜ ์ฐจ์ด์ ๊ณผ ์žฅ๋‹จ์  ๊ทธ๋ฆฌ๊ณ  ๋ญ๋ฅผ ๋”๋งŽ์ด ์“ฐ์ด๋Š”์ง€?
    • Thymeleaf Fragment (Fragment ๋‚˜๋ˆ„๊ธฐ)
    kkh1902
    kkh1902
    1Day 1 Commit ๋ชฉํ‘œ ๊ณต๋ถ€ํ•œ๊ฒƒ๋“ค ๋งค์ผ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”