[Spring][ํ˜ผ๊ณต] 2. ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ - ์‚ดํŽด๋ณด๊ธฐ (1)

2021. 6. 5. 14:43ยท๐Ÿ“ Language/โœ JAVA

2021.05.29 - [๐Ÿ“ Language/โœ JAVA] - [ํ˜ผ๊ณต][Spring] 1. ์ค€๋น„

 

[ํ˜ผ๊ณต][Spring] 1. ์ค€๋น„

์›๋ž˜ ์›น์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ถ„์•ผ(๊ฒŒ์ž„)์—์„œ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ฒˆ์— ์›น, ํŠนํžˆ Back End ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉฐ ์–ด๋–ป๊ฒŒ ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๊ธฐ๋ก ๋ชฉ์ ์œผ๋กœ ์ฐจ๋ก€์ฐจ๋ก€ ์ž‘์„ฑํ•˜๋ ค ํ•œ๋‹ค. ๋จผ์ €, ์ž๋ฐ”์—์„œ ๊ฐ€์žฅ ๋Œ€์ค‘

tech-interview.tistory.com

  • ์œ ํŠœ๋ธŒ ๊ฐ•์˜
  • IDE: ์ดํด๋ฆฝ์Šค
  • ๋นŒ๋“œ ๋„๊ตฌ: ๋ฉ”์ด๋ธ

 


 

์˜ˆ์ œ ํ”„๋กœ์ ํŠธ

1. ์‚ดํŽด๋ณด๊ธฐ

1) ์ค€๋น„

์˜ˆ์ œ ํ”„๋กœ์ ํŠธ Pet Clinic

https://github.com/spring-projects/spring-petclinic

 

spring-projects/spring-petclinic

A sample Spring-based application. Contribute to spring-projects/spring-petclinic development by creating an account on GitHub.

github.com

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

 

2) ๋นŒ๋“œ ๋ฐ ์‹คํ–‰ ํ…Œ์ŠคํŠธ

Pet Clinic ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ํ™”๋ฉด

  1. ์œ„ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ๋ฅผ Git Clone ๋ฐ›์€ ํ›„ ์ดํด๋ฆฝ์Šค๋ฅผ ํ†ตํ•ด ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
  2. ์ดํด๋ฆฝ์Šค ํ„ฐ๋ฏธ๋„ ์ฐฝ์„ ์—ด์–ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฉ”์ด๋ธ์œผ๋กœ ๋นŒ๋“œํ•œ๋‹ค. (./mvnw package)
  3. ๋นŒ๋“œ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. (java -jar target/*.jar ๋˜๋Š” ๋ฉ”์ธ ๋ฉ”์„œ๋“œ ์‹คํ–‰)
  4. ํ†ฐ์บฃ์ด 8080 ํฌํŠธ์— ๋œฌ ๊ฒƒ์„ ๋กœ๊ทธ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ  localhost:8080๋กœ ์ ‘์†ํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  5. ์‹คํ–‰๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Ctrl+C๋ฅผ ๋™์‹œ์— ๋ˆŒ๋Ÿฌ ์ข…๋ฃŒ์‹œํ‚จ๋‹ค. (ํ„ฐ๋ฏธ๋„๋กœ ์‹คํ–‰ ์‹œ)

 

3) ๊ตฌ์กฐ

  • ์ผ๋ฐ˜์ ์ธ ๋ฉ”์ด๋ธ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ
  • ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ๊ธฐ๋ฐ˜: ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋„์šธ ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์ œ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

 

๋ฉ”์ด๋ธ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

  • src/main/java: ์ž๋ฐ” ์†Œ์Šค ์œ„์น˜ ํด๋”๋กœ ํ•˜์œ„์— org์™€ ๊ฐ™์€ ํŒจํ‚ค์ง€๋ฅผ ๋ฐฐ์น˜ํ•œ๋‹ค.
  • src/main/resources: ํ”„๋กœํผํ‹ฐ๋‚˜ XML ๋“ฑ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์ด ์œ„์น˜ํ•œ๋‹ค.
  • src/main/webapp: ์›น ํ”„๋กœ์ ํŠธ์ธ ๊ฒฝ์šฐ WEB-INF ๋“ฑ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์œ„์น˜ํ•œ๋‹ค.
  • src/test/java: JUnit ๋“ฑ ํ…Œ์ŠคํŠธ ํŒŒ์ผ์ด ์œ„์น˜ํ•œ๋‹ค.
  • src/test/resources: ํ…Œ์ŠคํŠธ์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์ด ์œ„์น˜ํ•œ๋‹ค.

 

https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

 

Maven – Introduction to the Standard Directory Layout

Introduction to the Standard Directory Layout Having a common directory layout allows users familiar with one Maven project to immediately feel at home in another Maven project. The advantages are analogous to adopting a site-wide look-and-feel. The next s

maven.apache.org

 

4) ๋กœ๊ทธ

๋กœ๊ทธ ์„ค์ • ํŒŒ์ผ์—์„œ ๋กœ๊น… ๋ ˆ๋ฒจ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋กœ๊น… ๋ ˆ๋ฒจ์— ๋”ฐ๋ผ ์–ด๋–ค ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ค„์ง€ ๊ฒฐ์ •๋œ๋‹ค.

๋กœ๊น… ๋ ˆ๋ฒจ

 

๊ธฐ๋ณธ ๊ฐ’์€ INFO๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค.

์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ๊ธฐ์ค€ ํŒŒ์ผ ์œ„์น˜

 

๋กœ๊ทธ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ํ๋ฆ„๊ณผ ์–ด๋–ค ๋ฉ”์„œ๋“œ๊ฐ€ ์‹คํ–‰๋˜์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์ฝ˜์†” ์ฐฝ์— ๋‚˜ํƒ€๋‚˜๋Š” ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ (DEBUG)

 

5) ๋””๋ฒ„๊น…

  • ๋””๋ฒ„๊ทธ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•˜๊ณ  ์‹ถ์€ ๋ผ์ธ์— ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉˆ์ถ”๊ฒŒ ๋œ๋‹ค.
  • Variables ์ฐฝ์„ ํ†ตํ•ด ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
์ €์ž‘์žํ‘œ์‹œ
'๐Ÿ“ Language/โœ JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Spring][ํ˜ผ๊ณต] 3. ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด๋ณด๊ธฐ - ๊ธฐ๋ณธ ์„ค์ • (1)
  • [Spring][ํ˜ผ๊ณต] 2. ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ - ๊ณ ์ณ๋ณด๊ธฐ (2)
  • [Spring][ํ˜ผ๊ณต] 1. ์ค€๋น„
  • Maven(๋ฉ”์ด๋ธ)
Blxxming
Blxxming
CS ์ง€์‹๊ณผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ฐฐ์šด ๊ฒƒ, ๊ฒฝํ—˜ํ•œ ๊ฒƒ ๋“ฑ์„ ๊ธฐ๋กํ•˜๋Š” ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
  • Blxxming
    ๐Ÿ’ก๋ฒˆ๋œฉ๐Ÿ’ก
    Blxxming
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • ๊ณต์ง€์‚ฌํ•ญ

    • Tech Interview
    • ๐Ÿ“š Tech (246)
      • ๐Ÿ“ Computer Science (96)
        • โœ OS (12)
        • โœ Network & Web (10)
        • โœ Database (11)
        • โœ Data Structure (6)
        • โœ Algorithm (40)
        • โœ Design Pattern (9)
        • โœ Cloud Computing (3)
        • โœ (5)
      • ๐Ÿ“ Language (73)
        • โœ Language (6)
        • โœ C & C++ (11)
        • โœ C# (19)
        • โœ JAVA (37)
      • ๐Ÿ“ Game (43)
        • โœ Computer Graphics (2)
        • โœ Unity (14)
        • โœ Unreal (26)
        • โœ (1)
      • ๐Ÿ“ Book (34)
        • โœ Effective (3)
        • โœ Game Server (16)
        • โœ Clean Code (14)
        • โœ (1)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
Blxxming
[Spring][ํ˜ผ๊ณต] 2. ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ - ์‚ดํŽด๋ณด๊ธฐ (1)
์ƒ๋‹จ์œผ๋กœ

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