BE/๐ Spring6 [Spring Boot] Controller์ RestController ์ฐจ์ด์ ResponseBody @Controller Vs. @RestControllerRestController๋ Spring Boot 4.0 ๋ถํฐ Restful ์๋น์ค ๊ฐ๋ฐ์ ์ํด ์ถ๊ฐ๋จRestController๋ Controller + ResponseBody ์ฆ, Controller์์ ์๋ฏธํ๋ฉด์ ResponseBody์ธ RestApi์์ ์๋ฏธํ๋ค @Controller@RestController์ฌ์ฉํ๋ ๊ณณWeb Application ๊ฐ๋ฐ์ ์ฌ์ฉ๋จRestful Web Service ๊ฐ๋ฐ์ ์ฌ์ฉ๋จ๋ฐํ ํ์ html๊ณผ ๊ฐ์ View๋ฅผ ๋ฐํjson, XML๊ณผ ๊ฐ์ Response ๋ฐํ @Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@Re.. 2024. 9. 22. Spring boot ํ๋ก์ ํธ์ SSL ์ธ์ฆ์ ์ ์ฉํ๊ธฐ ํด๋น ํฌ์คํ ์ ์ฌ์ค ์ธ์ฆ SSL ์ ์ฉ์ ๋๋ค. ์์ฒด ์๋ช SSL์ ๋ค๋ฅธ ๊ธ์ ์ฐธ๊ณ ํ์ธ์! ๐ ์ ์ ๊ฒฝ์ฐ ์ฌ๋ฌ ์ฒจ๋ถ ํ์ผ์ ์ ๊ณต ๋ฐ์๋๋ฐ ํ์ผ ์ด๋ฆ์ ๋ฌ๋ผ๋ ์๋์ ๊ฐ์ ๊ตฌ์ฑ์ผ๋ก ๋์ด ์์ ๊ฑฐ์์!.crt.pem์๋ฒ ์ธ์ฆ์ PEM .key.pem๊ฐ์ธํค PEM (์ด๋ฏธ .jks๋ฅผ ํ์ผ์ด ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ๋ ์์ผ๋ ํ์ธํด๋ณด์ธ์! ์ด๋ฏธ .jks๊ฐ ์๋ค๋ฉด jks ๋ง๋๋ ๊ณผ์ ์ ๊ฑด๋ ๋ฐ์ด๋ ๋ฉ๋๋ค!) ์ด ๋๊ฐ์ง๋ฅผ ์ฌ์ฉํด์ .p12๋ฅผ ๋ง๋ค๊ณ .p12๋ฅผ .jks๋ก ๋ณ๊ฒฝํ๊ฒ ์ต๋๋ค. openssl pkcs12 -export -in [์๋ฒ์ธ์ฆ์.pem] -inkey [๊ฐ์ธํค.pem] -out [์์ฑํ ํ์ผ์ด๋ฆ.p12] -name [alias ์ด๋ฆ] Enter Export Password:Verifying - Enter E.. 2024. 7. 15. [Spring Boot JPA ๊ฒ์ํ ๋ง๋ค๊ธฐ] 3. Entity ์์ฑ ๊ฐ๋จํ ๊ฒ์ํ์ ๋ง๋ค๊ธฐ ์ํด์ Board๋ผ๋ Entity ํด๋์ค๋ฅผ ๋ง๋ค์ด ์ฃผ๊ฒ ์ต๋๋ค. JPA๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ์๋ฐ์ ํด๋์ค๋ก ํํํด ์ค ์ ์์ต๋๋ค. ์ด๋ฅผ ORM์ด๋ผ๊ณ ํ๋๋ฐ, ORM์ Object Relational Mapping์ ์ฝ์์ ๋๋ค. ์๋ฐ์ ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋งคํํ๋ ๊ธฐ์ ์ ๋งํฉ๋๋ค. JPA๋ ORM์ ์ฌ์ฉํ ์ ์๋๋ก ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ Entity ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๋ฅผ ํ๋ค๋ณด๋ฉด ๊ณตํต์ ์ผ๋ก ์์ฃผ ์ฌ์ฉํ๋ ์ปฌ๋ผ๋ค์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์์ฑ์ผ๊ณผ ์์ ์ผ ๋ฑ์ด ์์ต๋๋ค. ํด๋์ค ์ ์ํ ๋ ๋ง๋ค ๋งค๋ฒ ์ ์ ํ์ง ์๊ณ ๊ณตํต Entity ํด๋์ค๋ก ๋ง๋ค์ด ์ฌ์ฉํ ์ ์์ด์. ๋จผ์ BaseTime์ด๋ผ๋ ํด๋์ค๋ฅผ ์์ฑํด ๋ด ์๋ค! import lombok... 2024. 5. 8. [Spring Boot JPA ๊ฒ์ํ ๋ง๋ค๊ธฐ] 2. ํ๋ก์ ํธ ๊ตฌ์กฐ ์ค์ Controller MVC์ Controller์๋น์ค ๊ณ์ธต์ ํธ์ถํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ทฐ์ ์ ๋ฌํจ๋ฐ์ดํฐ ๊ฒ์ฆ(๋ฒจ๋ฆฌ๋ฐ์ด์ )์ ์ํํ๋คํ๋ก์ ํ ์ด์ ๋ ์ด์ด๋ก์ ์น ์์ฒญ๊ณผ ์๋ต์ ์ฒ๋ฆฌํ๋ค๋น์ฆ๋์ค ๋ก์ง์ด ๊ตฌํ๋๋ ๊ณณ์ด ์๋๋ค! Request์ Response๋ฅผ ๋ด๋นํ๋คurl์ ๋ฐ๋ผ ์ ์ ํ View์ mapping์ ์ฒ๋ฆฌ@Autowired, @Service๋ฅผ ์ฌ์ฉํด service์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค@Controller@RequestMapping("/board")public class BoardController { @Autowired private BoardService boardService;} Service๋น์ฆ๋์ค ๋ก์ง์ด ํฌํจ๋๋ฉฐ ํธ๋์ญ์ ์ ์์ ํ๋ ๊ณณ์ด๋ค๋ฐ์ดํฐ ์ ๊ทผ ๊ณ์ธต์ธ Repository๋ฅผ ํธ์ถํ๋ค.. 2024. 4. 29. IntelliJ ๋ฌด๋ฃ ๋ฒ์ ์ผ๋ก ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ ํด๋น ํฌ์คํ ์ ๋์ [์คํ๋ง ๋ถํธ 3 ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋๊ธฐ ์๋ฐํธ]๋ฅผ ์ฐธ๊ณ ํด์ ์์ฑ๋์์ต๋๋ค! ์ฌ์ง์ UI๋ ์ ๋ฃ ๋ฒ์ ์ ์ธํ ๋ฆฌ์ ์ด๋ผ์ ๋ฌด๋ฃ ๋ฒ์ ์ UI์ ์ฐจ์ด๊ฐ ์์ต๋๋ค. Java ํ๋ก์ ํธ๋ฅผ ๋๋ฌ์ฃผ๊ณ ํ๋ก์ ํธ ์ด๋ฆ์ค์ , ๋น๋ ์์คํ ์ Gradle, Gradle DSL์ Groovy, GroupId ์ง์ ํด์ค๋๋ค. (์ฌ๋ด์ด์ง๋ง ์ธํ ๋ฆฌ์ ์ด ์ ๋ฃ๋ฒ์ ์กฐ์์...ํ๋ฒ ๋ง๋ค๋ฆฌ๋ ๋์๊ฐ ์๊ฐ ์๋ ) build.gradle ํ์ผ๋ก ์ด๋ plugins { id 'java' id 'org.springframework.boot' version '3.2.0' // ์ถ๊ฐ id 'io.spring.dependency-management' version '1.1.0' // ์ถ๊ฐ } group = 'org.youable' vers.. 2024. 4. 18. [Spring Boot JPA ๊ฒ์ํ ๋ง๋ค๊ธฐ] 1. ํ๊ฒฝ์ค์ Intro Spring Boot์ JPA๋ฅผ ํ์ฉํด์ ๊ฐ๋จํ ๊ฒ์ํ ๊ธฐ๋ฅ์ ๊ตฌํํด ๋ณด๊ฒ ์ต๋๋ค. ๊ธ์ ์๋ฆฌ์ฆ๋ก ์์ฑ๋ ์์ ์ด๋ฉฐ ํ์ฌ ๊ธ์์๋ ํ๋ก์ ํธ ์์ฑ, build.gradle๊ณผ dependencies, applicaiton.yaml ํ์ผ ์ค์ ์ ๋ํด ์์๋ณผ๊ฒ์. - IDE : IntelliJ - java version : 17 ํ๋ก์ ํธ ์์ฑ ์ผ์ผ์ด ์๋์ผ๋ก Spring ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ์ค์ ํ๋ ๊ฒ์ ์ฝ์ง ์๊ธฐ ๋๋ฌธ์ IntelliJ์ Spring Initializer๋ฅผ ์ฌ์ฉํด์ Spring Boot ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ์๋ค! IntelliJ IDEA ์ฌ์ฉ ์ธํ ๋ฆฌ ์ ์ด ์ ๋ฃ ๋ฒ์ (IntelliJ IDEA)์ ์ฌ์ฉํ์ ๋ค๋ฉด ํ๋ก์ ํธ ์์ฑ ์ Spring Boot Generators๋ฅผ ์ฌ์ฉํ .. 2024. 4. 18. ์ด์ 1 ๋ค์