๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ(654)
-
์๋ ๊ตฌ์ฑ Auto Configuration ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ
์๋ ๊ตฌ์ฑ ์ฌ์ฉ ์ ์คํ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ (tistory.com) ์๋ ๊ตฌ์ฑ ์ฌ์ฉ ์ ์คํ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ ์คํ๋ง @Conditional (tistory.com) ์คํ๋ง @Conditional 0๏ธโฃ ์์ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ ์คํ๋ง ๋ถํธ๊ฐ ์ ๊ณตํ๋ ์๋ ๊ตฌ์ฑ์ ๋ํด์ ์์๋ณด๊ธฐ ์ ์ ๊ฐ๋จํ ์์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๊ฒ์ธ๋ฐ ์ด ์์ ํ๋ก์ ํธ๋ hyejin.tistory.com ์ ๋ฒ ๊ธ์์๋ ์คํ๋ง ๋ถํธ๊ฐ ์ ๊ณตํ๋ ์๋ ๊ตฌ์ฑ Auto Configuration ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ ์ ์ง์ ์คํ๋ง ๋น์ผ๋ก ๋ฑ๋กํด์ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ดค๋ค. ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋ ํ์ํ ๋น๋ค์ด ๋ญ์ง ์์์ผ ํ๊ณ , ์ด๋ฅผ ํ๋ํ๋ ๋น์ผ๋ก ๋ฑ๋กํด์ค์ผ ํ๋ค๋ ๋จ์ ์ด ์์ด๋๋ฐ ์คํ๋ง ๋ถํธ์์๋ ์๋ ๊ตฌ์ฑ ๊ธฐ..
2023.04.28 -
์๋ ๊ตฌ์ฑ ์ฌ์ฉ ์ ์คํ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ
์คํ๋ง @Conditional (tistory.com) ์คํ๋ง @Conditional 0๏ธโฃ ์์ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ ์คํ๋ง ๋ถํธ๊ฐ ์ ๊ณตํ๋ ์๋ ๊ตฌ์ฑ์ ๋ํด์ ์์๋ณด๊ธฐ ์ ์ ๊ฐ๋จํ ์์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๊ฒ์ธ๋ฐ ์ด ์์ ํ๋ก์ ํธ๋ ์ค์๊ฐ์ผ๋ก ์๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์น์ผ๋ก ํ hyejin.tistory.com ์ ๋ฒ ๊ธ์์ ๋ง๋ ์ค์๊ฐ memory ์กฐํ ํ๋ ํ๋ก์ ํธ๋ฅผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ง๋ค์ด์ ๋ค๋ฅธ ํ๋ก์ ํธ๋ค์์๋ ์ฌ์ฉํ๊ณ ์ถ์ ๋ ๋จผ์ ์คํ๋ง ๋ถํธ๊ฐ ์ ๊ณตํ๋ ์๋ ๊ตฌ์ฑ AutoConfiguration์ ์ฌ์ฉํ์ง ์๊ณ ์์ํ๊ฒ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค์ด ๋ณผ ๊ฒ์ด๋ค. ๐ ์ฐธ๊ณ ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค ๋๋ ์คํ๋ง ๋ถํธ ํ๋ฌ๊ทธ์ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ง ์๋๋ค. (๋ค๋ฅธ ํ๋ก์ ํธ์์ ํฌํจ๋์ด ์ฌ์ฉ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ง์ ์คํ๋ ์ผ์ด ์์) 0..
2023.04.28 -
์คํ๋ง @Conditional
0๏ธโฃ ์์ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ ์คํ๋ง ๋ถํธ๊ฐ ์ ๊ณตํ๋ ์๋ ๊ตฌ์ฑ์ ๋ํด์ ์์๋ณด๊ธฐ ์ ์ ๊ฐ๋จํ ์์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๊ฒ์ธ๋ฐ ์ด ์์ ํ๋ก์ ํธ๋ ์ค์๊ฐ์ผ๋ก ์๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์น์ผ๋ก ํ์ธํ๋ ์์ ์ด๋ค. Memory public class Memory { private long used; private long max; public Memory(long used, long max) { this.used = used; this.max = max; } public long getUsed() { return used; } public long getMax() { return max; } @Override public String toString() { return "Memory{" + "used=" + used ..
2023.04.27 -
์๋์ฐ "์ด ์์ ์ ์ํํ ์ ์๋ ๊ถํ์ด ์์ต๋๋ค" ํด๊ฒฐ ๋ฐฉ๋ฒ
cmd ๋ฅผ ํค๊ณ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ค์ ํ๋ ค๊ณ ํ๋๋ฐ ๊ณ์ ์ด๋ฐ ์ค๋ฅ๋ก ์ฌ๋ณผ๋ง ๋งํฌ๋ฅผ ๊ฑธ ์ ์์ด์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด๋ cmd ๋ฅผ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํ๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๊ฑธ๋ฉด ์ ์์ ์ผ๋ก ์คํ๋๋ค.
2023.04.26 -
์คํ๋ง ๋ถํธ Auto Configuration
0๏ธโฃ ์์ ํ๋ก์ ํธ ์์ฑ dependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //ํ ์คํธ์์ lombok ์ฌ์ฉ testCompileOnly 'org.project..
2023.04.25 -
์คํ๋ง ๋ถํธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ์ ์คํ๋ง ๋ถํธ ์คํํฐ
์์ฆ์ ์คํ๋ง์ ์ฌ์ฉํ๋คํ๋ฉด ์คํ๋ง ๋ถํธ๋ ๊ฑฐ์ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋ค ๋ณด๋๊น.. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ด ๊ฑฐ์๋์ง๋ ๋ชฐ๋๋๋ฐ ์ฌ์ค ์คํ๋ง ๋ถํธ๊ฐ ์์ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ ๋ค. ํ๋ก์ ํธ๋ฅผ ์ฒ์ ์์ํ๋ค๊ณ ํ๋ฉด ์ด์ ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ง ํ๋ํ๋ ๊ณ ๋ฏผํ๊ณ ์ ํํด์ผ ํ๋๋ฐ ์ฌ๊ธฐ์ ์ด์ ๋ํด์ ์ด ๊ฐ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฒ์ ๊น์ง ๊ณ ๋ฏผํด์ผ ํ๋ค. ๊ทผ๋ฐ ์ฌ๊ธฐ์ ๊ฐ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ๋ง ๊ณ ๋ฏผํ๋๊ฒ ์๋๋ผ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค๋ผ๋ฆฌ ํธํ์ด ์ ๋๋ ๋ฒ์ ์ด ์๊ณ ์๋๋ ๋ฒ์ ์ด ์์ด์ ์ด๊ฒ๊น์ง ๊ณ ๋ฏผํด์ผ ํ๋ค... ๊ทธ๋๊น ํ๋ก์ ํธ ์ค์ ํ๋๋ฐ์ ๊ฝค๋ ๋ง์ ์๊ฐ์ด ๋ค์ด๊ฐ๋ค.. . ์ด๋ฌํ ๋ฌธ์ ๋ค์ ์คํ๋ง ๋ถํธ๊ฐ ํด๊ฒฐํด์ฃผ๋๋ฐ ์คํ๋ง ๋ถํธ๋ ๊ฐ๋ฐ์๋ค์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ๊ด๋ฆฌ ์คํ๋ง ๋ถํธ..
2023.04.24 -
์คํ๋ง ๋ถํธ์ ์น ์๋ฒ ์คํ ๋ฐ ๋น๋ ๋ฐฐํฌ
0๏ธโฃ ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ ์์ฑ https://start.spring.io/ ์ด ์ฌ์ดํธ๋ก ๋ค์ด๊ฐ์ ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ์ ์๋ค. ๋ฒ์ ์ 3.0.x ๋ฒ์ ๋๋ฅผ ์ ํํ๋ฉด ๋๊ณ , 3 ๋ฒ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์๋ฐ 17์ด์์ ์ฌ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์๋ฐ 17์ธ์ง๋ ๊ผญ ํ์ธํด์ผ ํ๋ค!! ๊ทธ๋ฆฌ๊ณ Dependencies ์์ spring web ์ ์ ํํด์ฃผ๊ณ ํ๋ก์ ํธ ์์ฑํ๋ฉด ๋๋ค! dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' } build.gradle์์ ๋ณด๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ด ์๋ ๊ฒ์ ..
2023.04.21 -
์คํ๋ง ๋ถํธ 3.xx ๋น๋ ์ค๋ฅ (Could not resolve org.springframework.boot:spring-boot-dependencies:3.0.5.)
์คํ๋ง ๋ถํธ ํต์ฌ ์๋ฆฌ ์ ํ์ฉ ๊ฐ์๋ฅผ ๋ฃ๋ค๊ฐ ์ด์ ์คํ๋ง๋ถํธ 3์ ๋๋ฅผ ์ฌ์ฉํด์ ์์ ์ ์งํํ๊ธฐ ๋๋ฌธ์ ์๋ฐ 17๋ ์ด๋ฐ์ ์ค์นํ์๋ค.. (์คํ๋ง๋ถํธ 3๋ถํฐ๋ ์๋ฐ 17์ด์์ด์ด์ผ ํ๋ค.) ๊ทธ๋ฆฌ๊ณ ์ด์ ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํด์ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋๋ฐ ... Execution failed for task ':dependencies'. > Could not resolve all dependencies for configuration ':detachedConfiguration1'. > Could not resolve org.springframework.boot:spring-boot-dependencies:3.0.5. Required by: project : > Could not resolve org.spr..
2023.04.20 -
๋ถํธ ํด๋์ค ๋ง๋๋ ๋ฒ
๋ถํธ ํด๋์ค๋ฅผ ๋ง๋ ๋ค๋ ๊ฒ์ ์ฆ, ์ง๊ธ๊น์ง ์งํํ๋ ๋ด์ฅ ํฐ์บฃ ์คํ, ์คํ๋ง ์ปจํ ์ด๋ ์์ฑ, ๋์คํจ์ฒ ์๋ธ๋ฆฟ ๋ฑ๋ก์ ๋ชจ๋ ๊ณผ์ ์ ํธ๋ฆฌํ๊ฒ ์ฒ๋ฆฌํด์ฃผ๋ ํด๋์ค๋ฅผ ๋ง๋ ๋ค๋ ๊ฒ์ด๋ค. (๋ถํธ ๋ง๊ทธ๋๋ก ์์์ ํธ๋ฆฌํ๊ฒ ์ฒ๋ฆฌํด์ฃผ๋ ๊ฒ์ด๋ค.) MySpringApplication public class MySpringApplication { public static void run(Class configClass, String[] args) { System.out.println("MySpringApplication.run args = " + List.of(args)); // ํฐ์บฃ ์ค์ Tomcat tomcat = new Tomcat(); Connector connector = new Connector(); connect..
2023.04.18 -
๋ด์ฅ ํฐ์บฃ ๋น๋, ๋ฐฐํฌ (Fat Jar)
WAR ๋ฐฐํฌ ๋ฐฉ์ ๋จ์ ๊ณผ ๋ด์ฅ ํฐ์บฃ (tistory.com) WAR ๋ฐฐํฌ ๋ฐฉ์ ๋จ์ ๊ณผ ๋ด์ฅ ํฐ์บฃ 0๏ธโฃ WAR ๋ฐฐํฌ ๋ฐฉ์์ ๋จ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๋ ค๋ฉด ์ฐ์ ํฐ์บฃ ๊ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ๋ณ๋๋ก ์ค์นํ ๋ค์, ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ WAR๋ก ๋น๋ํ ๋ค์ ๋ค์ ์ด ๋น๋ํ WAR ํ hyejin.tistory.com ์ ๋ฒ ๊ธ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ด์ฅ ํฐ์บฃ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํฌํจํ๋ค. ํฐ์บฃ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํฌํจํ๊ณ ์๋ฐ ์ฝ๋๋ก ์ด์ ์ง์ ์คํํ๋ ๊ฒ์ธ๋ฐ ์๋ฐ์ main ๋ฉ์๋๋ฅผ ์คํํ๊ธฐ ์ํด์๋ jar ํ์์ผ๋ก ๋น๋ํด์ผ ํ๋ค. ์๋๋ ์ง์ META-INF/MANIFEST.MF ํ์ผ์ Manifest-Version: 1.0 Main-Class: hello.embed.EmbedTomcatSpringMain..
2023.04.18 -
WAR ๋ฐฐํฌ ๋ฐฉ์ ๋จ์ ๊ณผ ๋ด์ฅ ํฐ์บฃ
0๏ธโฃ WAR ๋ฐฐํฌ ๋ฐฉ์์ ๋จ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๋ ค๋ฉด ์ฐ์ ํฐ์บฃ ๊ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ๋ณ๋๋ก ์ค์นํ ๋ค์, ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ WAR๋ก ๋น๋ํ ๋ค์ ๋ค์ ์ด ๋น๋ํ WAR ํ์ผ์ WAS์ ๋ฐฐํฌํด์ผ ํ๋ค. ์ฆ, ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ํ๊ณ ์ถ๋ค๋ฉด ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ๋ณ๋๋ก ์ค์นํด์ผ ํ๋ ๊ตฌ์กฐ์ด๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ๋ณ๋๋ก ์ค์นํ๋ ์ด ๋ฐฉ๋ฒ์ ๋จ์ ์ผ๋ก๋ - ํฐ์บฃ ๊ฐ์ WAS๋ฅผ ๋ณ๋๋ก ์ค์นํด์ผ ํ๋ค. - ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ ์ด ๋ณต์กํ๋ค. ( ์น ์ ํ๋ฆฌ์ผ์ด์ ์ WAS๋ฅผ ์คํํ๊ณ WAR์ ์ฐ๋ํ๊ธฐ ์ํ ๋ณต์กํ ์ค์ ์ด ํ์ํ๋ค.) - ๋ฐฐํฌ ๊ณผ์ ์ด ๋ณต์กํ๋ค. (WAR ํ์ผ์ ๋ง๋ค๊ณ ์ด๋ฅผ ๋ WAS์ ์ ๋ฌํด์ ๋ฐฐํฌํด์ผํ๋ค.) - ํฐ์บฃ์ ๋ฒ์ ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ํฐ์บฃ์ ๋ค์ ์ค์นํด์ผ ํ๋ค. ๊ณผ๊ฑฐ์๋ ์ด..
2023.04.17 -
์คํ๋ง MVC ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ์ด๊ธฐํ WebApplicationInitalizer
์๋ธ๋ฆฟ ์ปจํ ์ด๋ ์ด๊ธฐํ, ์ ํ๋ฆฌ์ผ์ด์ ์ด๊ธฐํ (tistory.com) ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ์ด๊ธฐํ, ์ ํ๋ฆฌ์ผ์ด์ ์ด๊ธฐํ ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ์ด๊ธฐํ๋? (tistory.com) ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ์ด๊ธฐํ๋? WAS๋ฅผ ์คํํ๋ ์์ ์ ํ์ํ ์ด๊ธฐํ ์์ ๋ค( ์๋น์ค์ ํ์ํ ํํฐ์ ์๋ธ๋ฆฟ์ ๋ฑ๋ก, ์คํ๋ง ์ปจํ ์ด๋ ์์ฑ, ๋์คํจ์ฒ ์๋ธ๋ฆฟ hyejin.tistory.com ์คํ๋ง ์ปจํ ์ด๋ ๋ฑ๋ก (tistory.com) ์คํ๋ง ์ปจํ ์ด๋ ๋ฑ๋ก ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ์ด๊ธฐํ, ์ ํ๋ฆฌ์ผ์ด์ ์ด๊ธฐํ (tistory.com) ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ์ด๊ธฐํ, ์ ํ๋ฆฌ์ผ์ด์ ์ด๊ธฐํ ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ์ด๊ธฐํ๋? (tistory.com) ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ์ด๊ธฐํ๋? WAS๋ฅผ ์คํํ๋ ์์ hyejin.tistory.com ์ ๋ฒ ๊ธ์์ ๋ณด๋ฉด ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ฅผ ์ด๊ธฐ..
2023.04.13