๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

โ˜•๏ธ JAVA/๐Ÿƒ Spring3

Spring VS Spring Boot ๋ช‡ ๊ฐ€์ง€ ์ฐจ์ด์  Spring Boot๋กœ ์Šคํ”„๋ง์„ ์ฒ˜์Œ ํ•™์Šตํ•˜๋ฉฐ Boot์˜ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์— ๋ฌผ๋“ค์–ด ๊ธฐ์กด Spring์€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๊ณ  ์‚ฌ์šฉ๋˜๋Š”์ง€ ์ž˜ ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค. Spring๊ณผ Spring Boot์˜ ์ฐจ์ด์ ์„ ๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. (๋ฐ˜์„ฑ์„ ํ•˜๋ฉฐ.. ๐Ÿฅน) ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ•˜๋‹จ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”. +a) Spring Boot Starter Spring Boot Starter๋ž€ Spring์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐ„์˜ ์˜์กด์„ฑ๊ณผ ๋ฒ„์ „ ์กฐํ•ฉ์„ ํ™•์ธํ•˜์—ฌ ๊ณต๊ฐœํ•œ ์˜์กด์„ฑ ๊ทธ๋ฃน(?)์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Spring Boot๋Š” ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์˜์กด์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐจ์ด์  ์„ค์ • ํŒŒ์ผ ๊ด€๋ฆฌ Spring ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฒฝ์šฐ Dependency๋ฅผ ์„ค์ •ํ•ด์ค„ ์„ค์ • ํŒŒ์ผ๊ณผ ๋ฒ„์ „์„ ์ง์ ‘ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. # Spring ํ”„๋ ˆ์ž„์›Œํฌ Mav.. 2022. 9. 23.
./gradlew bootRun vs java -jar๋กœ ์‹คํ–‰ํ•  ๋•Œ์˜ ์ฐจ์ด์  (๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ) ๐Ÿ˜ฐ ์ƒํ™ฉ ./gradlew bootRun์œผ๋กœ ์Šคํ”„๋ง ๋ถ€ํŠธ ์‹คํ–‰ํ•  ๋•Œ ๋™์  ํŽ˜์ด์ง€ ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ์— ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ๋‹ค. ํ•˜์ง€๋งŒ heroku ๋ฐฐํฌํ•  ๋•Œ ./gradlew bootRun์œผ๋กœ ์ž๋ฐ” ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋นŒ๋“œ๋œ jar ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜์—ฌ ์ž‘๋™ํ•œ๋‹ค. ์ด๋•Œ java -jar๋กœ ์‹คํ–‰ํ•  ๋•Œ ๋™์  ํŽ˜์ด์ง€ ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. ๐Ÿค” ์›์ธ ./gradlew bootRun ์‹คํ–‰๊ณผ java -jar jarPath๋กœ ์‹คํ–‰ํ•  ๋•Œ ๋ฆฌ์†Œ์Šค ์œ„์น˜๊ฐ€ ๋‹ค๋ฅด๋‹ค. gradle์˜ ๊ฒฝ์šฐ ์ข€ ๋” ์œ ์—ฐํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€๋งŒ java -jar ๋กœ ์‹คํ–‰ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. โœ… ํ•ด๊ฒฐ java-spring-cafe ํ”„๋กœ์ ํŠธ commit ์ค‘ : fix ๋™์  ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ ์—๋Ÿฌ ์ˆ˜์ • ๋งŒ์•ฝ resource/index.html์„ ๋™์  .. 2022. 3. 19.
Spring boot์—์„œ H2 DB 3๊ฐ€์ง€ ๋ชจ๋“œ ์‚ฌ์šฉํ•˜๊ธฐ(embedded, In-Memory, Server) ํ™˜๊ฒฝ : Java 11 + Spring Boot 2.6.2 + Gradle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : H2 DB H2 DB์˜ 3๊ฐ€์ง€ ๋ชจ๋“œ H2DB๋Š” ์ž๋ฐ” ๊ธฐ๋ฐ˜ ์˜คํ”ˆ์†Œ์Šค RDBMS(๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)์ด๋‹ค. H2DB Cheat Sheet๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์„ธ ๊ฐ€์ง€ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ๋‹ค. 1. Embedded Mode 2. In-Memory Mode 3. Server Mode Server Mode Server Mode๋Š” ๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ H2๋ฅผ Plafform-Independent ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  h2/bin/h2.sh๋ฅผ ํ„ฐ๋ฏธ๋„๋กœ ์‹คํ–‰ํ•˜๋ฉด h2๊ฐ€ TCP ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„ ๋ฒ„์ „์œผ๋กœ ์‹คํ–‰๋œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์™ธ๋ถ€์—์„œ h2 ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋˜์–ด์•ผ ์Šคํ”„๋ง์—์„œ application.properties์— h2์„œ๋ฒ„ ์ฃผ.. 2022. 3. 16.