๐ Java & Kotlin & Spring/- spring framework +43 [Spring Framework] DI Application์ ๋ง๋ค์ด๋ณด์. ์ด๋ฒ ๊ธ์ ์์ค ์ฝ๋๋ SKplanet Tacademy - Spring Framework Basic ๋์์ ๊ฐ์ ์๋ฃ์ ์๋ ์์ค์ฝ๋๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์ฌ์ฉํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ง๋ ์๊ฐ IoC ์ปจํ ์ด๋์ DI์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๊ณผ ์ฉ์ด๋ค์ ๋ํด์ ์์๋ณด์๋ค. ์ด์ ์ค๋์ Ioc Container(DI Container)๋ฅผ ์ด๋ป๊ฒ Spring์์ ์ฌ์ฉํ๋์ง ์์๋ณด์. POJO ํด๋์ค ์์ฑ ์ค์ ๋ฉํ์ ๋ณด XML ์์ฑ DI ํ ์คํธ ํด๋์ค ์์ฑ POJO ํด๋์ค์ ๋ค์ด์ด๊ทธ๋จ ์ฐ๋ฆฌ๊ฐ ์์ ๋ก ๊ตฌ์ฑํ POJOํด๋์ค์ ๋ค์ด์ด๊ทธ๋จ์ ์๋์ ๊ฐ์ ํํ๋ก ๋ํ๋ผ ์ ์๋ค. Hello.class Printer.interface StringPrinter.class ConsolePrinter.class beans.xml :: XML ์ค์ .. 2020. 9. 5. [Spring Framework] Spring์ ํต์ฌ IoC/DI์ ๋ํด์ ์์๋ณด์. ์ฐ๋ฆฌ๋ ์ง๋ ์๊ฐ ๋ฌด์์ด Framework์ด๋ฉฐ ์ Spring์ด์ด์ผ ํ๋๊ฐ์ ๋ํด์ ์์๋ณด์๋ค. Framework์ ํน์ฑ์ด IoC, ์ฆ ์ ์ด์ ์ญ์ ์ด๋ผ๊ณ ํ์๋๋ฐ ์ค๋์ ๊ทธ ์ ์ด์ ์ญ์ ์ ์๋ฏธ์ ์ด๋ป๊ฒ ํ๋ฉด ์ ์ด๋ฅผ ์ญ์ ์ํฌ ์ ์๋์ง์ ๋ํ DI์ ๋ํด ์์๋ณด๋ ค ํ๋ค. ๊ฒฐ๋ก ์ ๋ฏธ๋ฆฌ ๋ง ํ์๋ฉด Spring IoC Container๋ ๋ฉํ๋ฐ์ดํฐ์ ์ค์ ์ ํตํด์ Bean์ ๊ด๋ฆฌํ๋ค. ์ง๊ธ ์ด ๋ง์ ํ๋๋ ์ดํดํ์ง ๋ชปํ๋ ๊ฒ์ด ์ ์์ด๋ค. ์ฐ๋ฆฌ๋ ํ๋์ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ์ง๋ฉดํ์ผ๋ ํ๋ ํ๋ Divide And Conquer ๋ฅผ ํด๋ณด์ ์ฐ๋ฆฌ๋ ์์ ๋ฌธ์ฅ์ ์๊ฒ ๋๋ ๋ณผ ๊ฒ์ด๋ค. IoC Container Bean ๋ฉํ๋ฐ์ดํฐ ์ด 3 ๊ฐ์ง๋ง ์๋ฉด ์์ ๋ฌธ์ฅ์ ๋ํ ์ดํด๊ฐ ์กฐ๊ธ ๊ฐ ๊ฒ ๊ฐ๋ค. IoC Container Fram.. 2020. 9. 4. [Spring Framework] ์ Spring์ธ๊ฐ? Spring์ ์์ํ๊ธฐ ์ ์ ์์๋ณด์ ์ด๋ฒ ๊ธ์ GDG Spring Framework Study์์ ์ฌ์ฉํ๊ฒ ๋ Spring ๊ธฐ์ ์ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ณตํต์ ์ผ๋ก ์์์ผํ Spring์ ์ญ์ฌ์ ๋ํด์ ์ ์ ์ด์ผ๊ธฐํด๋ณด๋ ค ํ๋ค. Framework vs Library ์ผ๋จ Spring์ ์ฌ์ฉํ๊ธฐ์ ์ ๋ฌด์์ด Library์ด๊ณ ์ Framework์ ์ ์ฌ์ฉํด์ผ ํ๊ณ ์ด๋ป๊ฒ ํ์ํ๋์ง๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ข๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋จ์ ํ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ๋ค์ ์งํฉ์ ๋งํ๋ค. Library ์ฐ๋ฆฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ๋ก๊ทธ๋๋ฐ์์ ๊ธฐ์กด์ ๋ง๋ค์ด์ง ํจ์๋ฅผ ์ฌํ์ฉํจ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์ ์ํ๋ค. Framework ์ ํ๋ ์์ํฌ๊ฐ ํ์ํ๋์ง๋ ํ ๋จ์ด๋ก ์ ๋ฆฌํ์๋ฉด Choas State -> Reusable State ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๊ฒฐ๊ตญ ํ๋ ์์ํฌ๋ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค๋ก ํ๋์ ๋ผ๋๋ฅผ .. 2020. 9. 3. [Springboot] IntelliJ๋ฅผ ์ด์ฉํ์ฌ Springboot + Mysql + Jpa + Lombok ํ๋ก์ ํธ Setup ํ Rest API ์๋ฒ CRUD ํ ์คํธ (MacOS) ๋ณธ ๊ธ์ Springboot์ Mysql + Jpa + Lombok ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์ฑํ ๊ธ์ ๋๋ค. ํด๋น ๋ธ๋ก๊ทธ์ ์กด์ฌํ๋ ๋ชจ๋ Springboot + Jpa ๊ด๋ จ ๊ธ์ ์ด ๊ธ์ ์กด์ฌํ๋ ๋ด์ฉ์ ์ ์ ๋ก ํฉ๋๋ค. ์์ Springboot Project ์์ฑ Gradle ์์กด์ฑ ์ถ๊ฐ application.properties ์ค์ db table ์์ฑ Lombok ์ค์ ์ฝ๋ ๊ตฌํ (model, controller, repository ๋ ํฌ์งํ ๋ฆฌ ์์ฑ) CRUD ํ ์คํธ ์์๋ IntelliJ IDE๊ฐ ๊น๋ ค์๋ค๋ ์ ์ ํ์ ์งํ๋๋ค. Springboot Project ์์ฑ ์ฐ๋ฆฌ๋ Springboot ํ๋ก์ ํธ๋ฅผ ์ด์ฉํด์ JPA๋ฅผ ํ ์คํธํ ๊ฒ์ด๋ฏ๋ก Springboot ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค. ์ง์ S.. 2020. 8. 27. [Spring & Springboot] Generic์ ์ด์ฉํ์ฌ ๋ชจ๋ Request, Response์ Header์ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์. ์ด ์๋ฆฌ์ฆ๋ Spring์์ Generic์ ์ด์ฉํ์ฌ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์.์ ์ด์ด์ง๋ ๊ธ ์ ๋๋ค. Generic(์ ๋๋ฆญ)์ ํต์ฌ๋ง ์ดํดํด๋ณด์. Spring์์ Generic์ ์ด์ฉํ์ฌ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์. ์ด ๊ธ์ ์ค์ ์ ๊ดํ ๊ธ์ด๊ณ ์ ๋๋ฆญ์ ๋ํ ์ด๋ก ์ด ๋ถ์กฑํ์ ๋ถ๋ค์ 1๋ฒ ๋งํฌ๋ฅผ ํตํด ์ถฉ๋ถํ ์์งํ๊ณ ์ค์๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ์ ๋ค๋ฆญ์ ์ค์ ์์ ์ฌ์ฉํด๋ณด์. ์ง๋ ์๊ฐ์ ๋ฐฐ์ด ์ ๋ค๋ฆญ์ ์ด์ด์ ์ด์ ์ค์ ์์ ์ฌ์ฉํด๋ณด๊ธฐ ์ํด ํ๊ฒฝ ๊ตฌ์ฑ์ ํด๋ณด์. Jpa + Springboot + Mysql ์ฐ๋์ ๋ํด์๋ ์ฐ๋ฆฌ๋ ๋ชจ๋ Http ํต์ ์ Header๋ผ๋ ๊ณตํต ๋ถ๋ถ์ด ๋ค์ด๊ฐ์ผ ํ๋ ๊ฒ์ ์๊ณ ์๋ค. ์๋๋ผ๋ฉด request, response ์ setHeader๋ผ๋ ๋ฉ์๋๋ฅผ ํตํด ํค๋๋ฅผ ๊ด.. 2020. 8. 27. [Spring-Core] ์คํ๋ง์ ์ปค๋งจ๋ ๊ฐ์ฒด(Command Object)๋ฅผ ๋น ๋ฅด๊ณ ๊ฐ๋จํ๊ฒ ์์๋ณด์. ์ค๋ ์์๋ณผ ๊ฒ์ Spring-Command Object์ด๋ค. ์ปค๋งจ๋ ๊ฐ์ฒด๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด์๋ Spring์ ์ฌ์ฉํ๊ธฐ ์ ์ด๋ผ๋ ๊ฐ์ ์ ํ๊ณ ๋ถํธํจ์ ๋จผ์ ์๊ฐํด๋ณด๊ณ Spring์ด ์ด ๋ถํธํจ์ ์ด๋ป๊ฒ ํด๊ฒฐํด๋๊ฐ๋ ค๊ณ ํ๋์ง์ ๋ํด์ ์์๋ณด๋๋กํ์. ๋ถํธํจ : ๊ธฐ์กด์ Http ์์ฒญ ์ฐ๋ฆฌ๊ฐ ๋ง์ฝ request๋ก 100๊ฐ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ค๊ณ ๊ฐ์ ํด๋ณด์. public String joinMember(HttpServletRequest request) { String username = request.getParameter("username"); String password = request.getParameter("password"); String address = request.getParameter("addre.. 2020. 7. 30. ์ด์ 1 2 3 4 5 6 7 8 ๋ค์