๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Servlet์—์„œ ์Šคํ”„๋ง ApplicationContext ์‚ฌ์šฉํ•˜๊ธฐ Servlet์—์„œ ์Šคํ”„๋ง ApplicationContext ์‚ฌ์šฉํ•˜๊ธฐ pom.xml org.springframework spring-webmvc 5.1.3.RELEASE ์Šคํ”„๋ง ApplicationContext, ์ฆ‰ ์Šคํ”„๋ง IoC๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ด€๋ จ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค. spring-context ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ์œ„ ์˜ˆ์ œ์—์„œ๋Š” spring-webmvc๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ํ–ˆ์ง€๋งŒ spring-context๋งŒ ๊ฐ€์ ธ์™€๋„ ๋œ๋‹ค. web.xml org.springframework.web.context.ContextLoaderListener contextClass org.springframework.web.context.support.AnnotationConfigWebApplication.. 2020. 3. 11.
์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ์˜์กด์„ฑ ๊ด€๋ฆฌ(Dependency Management) ์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ์˜์กด์„ฑ ๊ด€๋ฆฌ(Dependency Management) ๊ธฐ๋ณธ์ ์ธ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ์˜ pom.xml ํŒŒ์ผ์„ ๋ณด๋ฉด ์˜์กด์„ฑ ์„ค์ •์ด spring-boot-starter-web๊ณผ spring-boot-starter-test ๋‘ ๊ฐœ ๋ฟ์ด๊ณ  ๋ฒ„์ „ ๋˜ํ•œ ๋ช…์‹œํ•˜์ง€ ์•Š๊ณ  ์žˆ์ง€๋งŒ ์ˆ˜ ๋งŽ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์•Œ์•„์„œ ๊ฐ€์ ธ์˜จ๋‹ค. org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine ์ด๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์˜์กด์„ฑ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๋•Œ๋ฌธ์ด๋‹ค. ๊ธฐ๋ณธ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ๋Š” spring-boot-starter-.. 2020. 3. 11.
์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ - Spring Initializr ์›น ๋„๊ตฌ ์‚ฌ์šฉ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ - Spring Initializr ์›น ๋„๊ตฌ ์‚ฌ์šฉ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• ์ค‘์—๋Š” Spring์—์„œ ์ œ๊ณตํ•˜๋Š” Spring Initializr ์›น ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ„ํŽธํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. https://start.spring.io/ ์— ์ ‘์†ํ•˜์ž. ์œ„ ์ฃผ์†Œ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์ด๋Ÿฐ ํ™”๋ฉด์ด ๋ณด์ผ๊ฒƒ์ด๋‹ค. ์‹œ๊ฐ„์ด ํ๋ฆ„์— ๋”ฐ๋ผ UI๋Š” ๋ฐ”๋€” ์ˆ˜ ์žˆ๋‹ค. ์„ ํƒํ•ด์•ผํ•˜๋Š” ์˜ต์…˜์€ ์ฐจ๋ก€๋กœ, Project: ์‚ฌ์šฉํ•  ๋นŒ๋“œ ํˆด ์„ ํƒ (Maven/Gradle) Maven, Gradle์€ ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ณ  ๋นŒ๋“œ ๋ผ์ดํ”„์‚ฌ์ดํด์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ํˆด์ด๋‹ค. ๊ณผ๊ฑฐ์—๋Š” Maven์„, ์ตœ๊ทผ์—๋Š” Gradle์„ ์‚ฌ์šฉํ•˜๋Š” ์ถ”์„ธ์ด๋‹ค. ์Šคํ”„๋ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ ์ž์ฒด๋„ ์ตœ๊ทผ์—๋Š” Gradle๋กœ ํ•˜๊ณ  ์žˆ๋‹ค. Language: ์–ธ์–ด .. 2020. 3. 11.
IntelliJ ํ”„๋กœ์ ํŠธ ์†Œ์Šค ๋””๋ ‰ํ† ๋ฆฌ(src) ์„ค์ • ๋ฐฉ๋ฒ• IntelliJ ํ”„๋กœ์ ํŠธ ์†Œ์Šค ๋””๋ ‰ํ† ๋ฆฌ(src) ์„ค์ • ๋ฐฉ๋ฒ• ์œ„ ํ”„๋กœ์ ํŠธ์˜ java ๋””๋ ‰ํ† ๋ฆฌ๋Š” ํ˜„์žฌ ์ผ๋ฐ˜ ๋””๋ ‰ํ† ๋ฆฌ์ด๋‹ค. ์ผ๋ฐ˜ ๋””๋ ‰ํ† ๋ฆฌ์ธ๊ฒƒ์€ ํšŒ์ƒ‰ ์•„์ด์ฝ˜์œผ๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ ์†Œ์Šค ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์— ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด๋„ ์ปดํŒŒ์ผ ๋Œ€์ƒ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์†Œ์Šค ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•˜๋ฉด ๋œ๋‹ค. Project Structure ์ฐฝ์„ ์—ด๊ณ  Modules - ํ•ด๋‹น ๋ชจ๋“ˆ ์„ ํƒ - ๋””๋ ‰ํ† ๋ฆฌ ์„ ํƒ ํ›„ Mark as: ์šฐ์ธก์˜ Sources๋ฅผ ํด๋ฆญํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์šฐ์ธก์— Source Folders๊ฐ€ ์ƒˆ๋กœ ์ƒ๊ธฐ๊ณ  ์„ ํƒํ•œ java ํด๋”๊ฐ€ ์ถ”๊ฐ€๋œ๋‹ค. ์ ์šฉํ•˜๋ฉด ์•„๊นŒ์™€ ๋‹ฌ๋ฆฌ java ํด๋”์˜ ์•„์ด์ฝ˜์ด ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ฐ”๋€๋‹ค. (์•„์ด์ฝ˜์€ ํ…Œ๋งˆ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ) 2020. 3. 11.
IntelliJ๋กœ Archetype์„ ์‚ฌ์šฉํ•ด์„œ Maven ํ”„๋กœ์ ํŠธ ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• IntelliJ๋กœ Archetype์„ ์‚ฌ์šฉํ•ด์„œ Maven ํ”„๋กœ์ ํŠธ ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• IntelliJ๋กœ ์ƒˆ ํ”„๋กœ์ ํŠธ/๋ชจ๋“ˆ์„ ์ƒ์„ฑํ• ๋•Œ Maven์„ ์„ ํƒํ•˜๋ฉด 'Create from archetype'์ด๋ผ๋Š” ์˜ต์…˜์ด ์žˆ๋‹ค. Archetype์€ maven์—์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋†“์€ ํ”„๋กœ์ ํŠธ ํŠธ๋ฆฌ(๊ตฌ์กฐ)์ด๋‹ค. ์œ„ ๊ทธ๋ฆผ ๋ชฉ๋ก์—์„œ ๋ณด์—ฌ์ง€๋Š”๊ฒƒ์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ตฌ์กฐ๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ๋‹ค. ์‚ฌ์šฉํ•  archetype์„ ์„ ํƒํ•˜๊ณ  Next๋ฅผ ํด๋ฆญํ•ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋œ๋‹ค. Archetype์„ ์„ ํƒํ•˜๋ฉด ํ•˜๋‹จ์— ํ•ด๋‹น archetype์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์„ค๋ช…์ด ๋ณด์—ฌ์ง„๋‹ค. ์œ„ ๊ทธ๋ฆผ์€ maven-archetype-webapp์„ ์„ ํƒํ•ด์„œ 'A simple Java web application'์ด๋ผ๊ณ  ๋ณด์—ฌ์ง€๋Š” ๋ชจ์Šต์ด๋‹ค. ๋‹ค์Œ ํ™”๋ฉด์—์„œ๋Š” maven ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ.. 2020. 3. 11.
try-with-resource ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•œ JDBC ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ try-with-resource ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•œ JDBC ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ try-with-resource๋Š” java 7 ์ด์ƒ๋ถ€ํ„ฐ ์ง€์›๋˜๋ฉฐ try ๋ธ”๋Ÿญ ์‹คํ–‰์ด ์™„๋ฃŒ๋˜๋ฉด ()์•ˆ์˜ ๋ฆฌ์†Œ์Šค์˜ ์ž์›์„ ํ•ด์ œํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ํ˜ธ์ถœํ•ด์ค€๋‹ค. String url = "jdbc:mysql://localhost:3306/myschema"; // ์œ„์น˜ ์ •๋ณด String username = "user"; // ์ธ์ฆ ์ •๋ณด String password = "1234"; // ์ธ์ฆ ์ •๋ณด // try-with-resource try(Connection conn = DriverManager.getConnection(url, username, password)) { String sql = "SELECT id, username, p.. 2020. 3. 11.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ค๊ณ„์™€ ๋ถ„์„ - ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ์ ๊ทผ์„ฑ๋Šฅ [์•Œ๊ณ ๋ฆฌ์ฆ˜] ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ค๊ณ„์™€ ๋ถ„์„ - ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ์ ๊ทผ์„ฑ๋Šฅ 1. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„ ๊ธฐ๋ฒ• ์ฃผ์–ด์ง„ ๋ฌธ์ œ, ์†์„ฑ, ์กฐ๊ฑด ๋“ฑ์— ๋”ฐ๋ผ ๋งค์šฐ ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ผ๋ฐ˜์ ์ด๊ณ  ๋ฒ”์šฉ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„ ๊ธฐ๋ฒ•์€ ์กด์žฌํ•˜์ง€ ์•Š์ง€๋งŒ ๊ทธ ์ค‘ ๋Œ€ํ‘œ์ ์ธ ์„ค๊ณ„ ๊ธฐ๋ฒ• ์„ธ ๊ฐ€์ง€๋ฅผ ๊ผฝ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ถ„ํ•  ์ •๋ณต ๋ฐฉ๋ฒ•(Divide-and-Conquer) ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•(Dynamic Programming) ์š•์‹ฌ์Ÿ์ด ๋ฐฉ๋ฒ•(Greedy) ๋”ฐ๋ผ์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์œ„ ์„ธ ๊ฐ€์ง€ ์„ค๊ณ„ ๊ธฐ๋ฒ•์€ ๊ผญ ์•Œ์•„๋‘ฌ์•ผ ํ• ๊ฒƒ์ด๋‹ค. 2. ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํšจ์œจ์„ฑ ๋ถ„์„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํšจ์œจ์„ฑ ๋ถ„์„์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜ํ–‰์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์–‘๊ณผ ์ˆ˜ํ–‰ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์–‘ → ๊ณต๊ฐ„ ๋ณต์žก๋„(Space Complexity) = ์ •์  ๊ณต๊ฐ„ + ๋™์  ๊ณต๊ฐ„ .. 2020. 3. 11.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฐœ๋…๊ณผ ๊ธฐ๋ณธ ์ž๋ฃŒ๊ตฌ์กฐ [์•Œ๊ณ ๋ฆฌ์ฆ˜] ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฐœ๋…๊ณผ ๊ธฐ๋ณธ ์ž๋ฃŒ๊ตฌ์กฐ 1. ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ •์˜์™€ ์กฐ๊ฑด 1) ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ •์˜ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด๋“ค์˜ ๋‹จ๊ณ„์  ๋‚˜์—ด 2) ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์กฐ๊ฑด ์ž…๋ ฅ : 0๊ฐœ ์ด์ƒ์˜ ์™ธ๋ถ€ ์ž…๋ ฅ ์ถœ๋ ฅ : 1๊ฐœ ์ด์ƒ์˜ ์ถœ๋ ฅ ๋ช…ํ™•์„ฑ : ๊ฐ ๋ช…๋ น์€ ๋ชจํ˜ธํ•˜์ง€ ์•Š๊ณ  ๋ช…ํ™•ํ•ด์•ผ ํ•จ ์œ ํ•œ์„ฑ : ํ•œ์ •๋œ ์ˆ˜์˜ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ๋ฐ˜๋“œ์‹œ ์ข…๋ฃŒ๋จ ์œ ํšจ์„ฑ : ๋ชจ๋“  ๋ช…๋ น์€ ์ปดํ“จํ„ฐ์—์„œ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์กฐ๊ฑด์„ ํ•ฉ์ณ์„œ ์ •์˜ํ•˜์ž๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ์ฃผ์–ด์ง„ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ชจํ˜ธํ•˜์ง€ ์•Š๊ณ  ์ปดํ“จํ„ฐ๊ฐ€ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•œ ์ผ๋ จ์˜ ์œ ํ•œ๊ฐœ์˜ ๋ช…๋ น๋“ค์„ ์ˆœ์„œ์ ์œผ๋กœ ๊ตฌ์„ฑํ•œ ๊ฒƒ์ด๋‹ค. 2. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ƒ์„ฑ ๋‹จ๊ณ„ 3. ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ‘œํ˜„/๊ธฐ์ˆ  ๋ฐฉ๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํฌ๊ฒŒ ์ผ์ƒ ์–ธ์–ด, ์˜์‚ฌ ์ฝ”๋“œ(Pseudo code), ์ˆœ์„œ๋„์˜ ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ.. 2020. 3. 10.
[JAVA ๋””์ž์ธ ํŒจํ„ด] static class์™€ Builder Pattern(๋นŒ๋” ํŒจํ„ด) [JAVA ๋””์ž์ธ ํŒจํ„ด] static class์™€ Builder Pattern(๋นŒ๋” ํŒจํ„ด) 1. static class๋ž€? Static class๋Š” inner class(๋‚ด๋ถ€ ํด๋ž˜์Šค)์˜ ํ•œ ์ข…๋ฅ˜์ด๋‹ค. inner class ์ค‘์—์„œ outer class(์™ธ๋ถ€ ํด๋ž˜์Šค)์˜ ๋ฉค๋ฒ„๋ณ€์ˆ˜ ์„ ์–ธ ์œ„์น˜์— static ํ‚ค์›Œ๋“œ๋ฅผ ๋ถ™์—ฌ ์„ ์–ธํ•œ ํด๋ž˜์Šค์ด๋‹ค. ์ฃผ๋กœ outer class์˜ static ๋ฉ”์†Œ๋“œ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. 2. static class์˜ ์„ ์–ธ ๋ฐฉ๋ฒ• // Outer class public class Outer { // Static inner class public static class Inner { } } 3. static class์˜ ๋ฉค๋ฒ„์™€ ์ ‘๊ทผ // Outer class public class Outer { // .. 2020. 3. 9.
IntelliJ์—์„œ Lombok ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์„ธํŒ… ๋ฐฉ๋ฒ• IntelliJ์—์„œ Lombok ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์„ธํŒ… ๋ฐฉ๋ฒ• Lombok ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ Lombok์€ Annotation์„ ์ด์šฉํ•ด ์ปดํŒŒ์ผ ์‹œ์ ์— Getter, Setter, ์ƒ์„ฑ์ž, toString, Builder ๋“ฑ์„ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋“ค์˜ ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. 1. Lombok ์˜์กด์„ฑ ์ถ”๊ฐ€ 1) Spring Initializr ์‚ฌ์šฉ 2) Gradle ์‚ฌ์šฉ dependencies { compileOnly 'org.projectlombok:lombok:1.18.12' annotationProcessor 'org.projectlombok:lombok:1.18.12' } 3) Maven ์‚ฌ์šฉ org.projectlombok lombok 1.18.12 compile ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š”.. 2020. 3. 9.
[IntelliJ] Gradle ํ”„๋กœ์ ํŠธ resources ๋””๋ ‰ํ† ๋ฆฌ ๋งŒ๋“ค๊ธฐ [IntelliJ] Gradle ํ”„๋กœ์ ํŠธ resources ๋””๋ ‰ํ† ๋ฆฌ ๋งŒ๋“ค๊ธฐ ๋‹ค์Œ์€ ์ผ๋ฐ˜์ ์ธ gradle ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์กฐ์ด๋‹ค. resources ๋””๋ ‰ํ† ๋ฆฌ๋Š” main, test ํ•˜์œ„์— ์œ„์น˜ํ•˜๋Š”๋ฐ intelliJ ๋ฒ„์ „์— ๋”ฐ๋ผ resources ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ง์ ‘ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. main์—์„œ resources ์ด๋ฆ„์˜ ์ƒˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค. resources ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๋‹ค. ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ์—” ์ž๋™์œผ๋กœ resources ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ธ์‹๋ผ์„œ ์•„์ด์ฝ˜์ด ์ ์šฉ๋์œผ๋‚˜ ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ, ์ƒ์„ฑํ•œ resources ๋””๋ ‰ํ† ๋ฆฌ์— ๋งˆ์šฐ์Šค ์šฐ์ธก ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด์„œ ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด๋ฅผ ๋„์šฐ๊ณ  Mark Directory as - Resoures Root๋ฅผ ํด๋ฆญํ•œ๋‹ค. 2020. 3. 9.
IntelliJ๋กœ Gradle ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ณ  DB ์—ฐ๋™ํ•˜๊ธฐ IntelliJ๋กœ Gradle ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ณ  DB ์—ฐ๋™ํ•˜๊ธฐ 1. Gradle ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ ๊ฐ€์žฅ ๋จผ์ € ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ขŒ์ธก์—์„œ Gradle์„ ์„ ํƒํ•˜๊ณ  Project SDK์—์„œ ์‚ฌ์šฉํ•  JDK ๋ฒ„์ „์„ ์„ ํƒ, ์ค‘์•™ Additional Libraries and Frameworks์—์„œ๋Š” Java๋งŒ ์„ ํƒํ•˜๊ณ  Next๋ฅผ ํด๋ฆญํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ ์ด๋ฆ„, ์œ„์น˜, Group Id, Artifact Id๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Finish๋ฅผ ํด๋ฆญํ•œ๋‹ค. 2. JDBC Driver ์˜์กด์„ฑ ์ถ”๊ฐ€ Maven ์ €์žฅ์†Œ(https://mvnrepository.com)์—์„œ ์ž์‹ ์ด ์‚ฌ์šฉํ•˜๋Š” DBMS์˜ JDBC ๋“œ๋ผ์ด๋ฒ„ ์˜์กด์„ฑ ๊ตฌ๋ฌธ์„ ๋ณต์‚ฌํ•œ๋‹ค. Gradle ํƒญ์˜ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•˜๋ฉด ๋œ๋‹ค. ๋‚˜๋Š” MySQL 8์ ๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ณต.. 2020. 3. 8.