λ°μν Spring Boot10 μ€νλ§μμ ν΄λΌμ΄μΈνΈλ‘ λ°μ΄ν° μ λ¬ μ νκΈμ΄ κΉ¨μ§λ μ΄μ (ISO-8859-1) μλ νμΈμ, μ΅κ·Ό ν΄λΌμ΄μΈνΈ(Vue) μ μλ²(Spring Boot) μ°λ μ μλ²μμ νκΈ λ°μ΄ν°λ₯Ό μ λ¬νλ©΄ ν΄λΌμ΄μΈνΈμμ νκΈμ΄ κΉ¨μ§λ μ΄μκ° λ°μνμλλ°μ, μ΄μ κ΄λ ¨νμ¬ κ°λ΅ν μ λ¦¬ν΄ λ³΄μμ΅λλ€. μμΈ HttpMessageConverter μΈν°νμ΄μ€λ Springμμ HTTP request, response λ₯Ό λ³νν΄ μ£Όλ μΈν°νμ΄μ€μΈλ°μ, ν΄λΉ ν¬μ€ν μ μ΄ν΄νλλ° νμν λ΄μ©μ΄λΌ κ°λ΅νκ²λ§ μ€λͺ νκ³ λμ΄κ°κ² μ΅λλ€. μ€νλ§μμ νν μ¬μ©νλ @RestController μ΄λ Έν μ΄μ μ ν¬ν¨λμ΄ μλ @ResponseBody μ΄λ Έν μ΄μ μ μ¬μ©ν κ²½μ°, HttpMessageConverter μ΄ λμνκ³ λ°ν νμ μ λ°λΌ μ μ ν ꡬνμ²΄κ° μ¬μ©μ΄ λ©λλ€. λνμ μΌλ‘λ ByteArrayHttpMessageC.. 2023. 11. 20. SpringBoot Multi DataSource - JPA π SpringBootμμ λ©ν° λ°μ΄ν°μμ€ μ€μ νκΈ° - JPA νλμ νλ‘μ νΈμμ μ¬λ¬ κ°μ λ€λ₯Έ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©ν΄μΌ νλ κ²½μ°κ° μλλ°μ, μ΄λ° κ²½μ° DataSourceλ₯Ό 컀μ€ν μΌλ‘ μ€μ νμ¬ κ΄λ¦¬ν μ μμ΅λλ€. κ°λ¨ν μ€μ μ ν΅ν΄ ν νλ‘μ νΈμμ λ€λ₯Έ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νλ λ°©λ²μ μ 리ν©λλ€. μμ μ½λλ GitHubμμ νμΈν μ μμ΅λλ€. π application.yml yml νμΌμ λ κ°μ λ°μ΄ν°λ² μ΄μ€(datasource, datasource-second)λ₯Ό μ€μ ν©λλ€. (κΈ°λ³Έ μ€νλ§ λΆνΈμ λ°μ΄ν°λ² μ΄μ€ μ€μ κ³Ό λ¬λ¦¬ λ©ν° λ°μ΄ν° μμ€ HikariConfigμμλ urlμ΄ μλ jdbc-urlμΌλ‘ λ€μ΄λ°μ ν΄μΌν©λλ€.) π DataSource Configuration μλ μ½λμμ μ¬μ©ν ν¨.. 2023. 1. 21. Spring Boot profiles μ€μ νκΈ° π Spring Boot profiles μ€μ νκΈ° μλ νμΈμ, μ΄λ² ν¬μ€ν μμλ μ€νλ§ λΆνΈμμ μ¬λ¬ profileμ μ€μ νκ³ , μ€μ κ°λ€μ κ°μ²΄μ λ°μΈλ©νλ λ°©λ²μ λν΄ μ΄ν΄λ³΄κ² μ΅λλ€. μ€μ κ°λ°μ μ§ννκ³ μ΄μμ νλ€λ³΄λ©΄ κ°λ°(dev), ν μ€νΈ(stage), μν(alpha), μμ©(prod) λ± μ΄μνκ²½μ λ°λΌ μλ²λ μ€μ κ°λ€μ΄ μ¬λ¬κ°λ‘ λλ μ μλλ°μ, μ€νλ§ λΆνΈμμλ μ΄λ¬ν μ€μ μ κ°λ¨ν ν μ μμ΅λλ€. ν΄λΉ ν¬μ€ν μμλ yml νμΌμ κΈ°μ€μΌλ‘ μ€μ μ ν΄λ³΄κ² μ΅λλ€. π€― π yml νμΌ μμ±νκΈ° resource νμ ν΄λμ μμ±ν yml νμΌμ λ€μκ³Ό κ°μ΅λλ€. π application.yml spring: profiles: active: - local group: local: - site.. 2022. 9. 5. Spring Boot SQL μ€μ (hibernate, logging) π Spring Boot SQL μ€μ (hibernate, logging) μλ νμΈμ, Spring Bootμ hibernate SQL μ€μ μ λν΄ μ΄ν΄λ³΄κ² μ΅λλ€. μ€μ μ΄μμ νλ€λ³΄λ©΄ μνλ 쿼리문μ λν΄ νμ νκ³ , DBμμ κ²°κ³Όκ°μ νμΈνκ³ μΆμλκ° μμ΅λλ€. μ΄λ, λ‘κ·Έ νμΌμ μΏΌλ¦¬λ¬Έμ΄ μ μ₯μ΄ λμ΄μλ€λ©΄, ν΄λΉ 쿼리문μ 볡λΆνμ¬ κ°λ¨ν κ²°κ³Όκ°μ νμΈν μ μλ μ₯μ μ΄ μ‘΄μ¬ν©λλ€. λ¬Όλ‘ λͺ¨λ 쿼리문μ λν΄ λ‘κ·Έ νμΌμ μ μ₯νλ€λ©΄ μ©λ λ±μ μ΄μκ° μμμλ μκ² μ£ ? νΉν 볡μ‘νκ² μνλλ μΏΌλ¦¬λ¬Έμ΄ μ ν리μΌμ΄μ μ½λμ μ‘΄μ¬ν λ, μ΄λ₯Ό νλμ© λΆμνμ¬ DBμμ 쿼리λ₯Ό μννμ¬ κ²°κ³Όκ°μ νμΈνκΈ°μλ κ½€λ λ²κ±°λ‘μ΄ μμ μ΄ λ μ μλλ°μ μ΄λ΄λ κ΅μ₯ν νΈνκ² νμΈν μ μμ΅λλ€. StringBuilder sb.. 2022. 3. 12. [Spring Data MongoDB] Auto-Increment Sequence λ§λ€κΈ° π Spring Data MongoDB Auto-Increment Sequence λ§λ€κΈ° μλ νμΈμ, μ΄λ² μκ°μ μ 리ν λ΄μ©μ Spring Data MongoDBμμ λ°μ΄ν°λ₯Ό μ½μ ν λ λ§λ€ μλμΌλ‘ μ¦κ°νλ νλλ₯Ό μμ±ν΄λ³΄λλ‘ νκ² μ΅λλ€. ν΄λΉ κΈ°λ₯μ MySQLμμμ AUTO INCREMENTμ λμΌνλ€κ³ 보μλ©΄ λ©λλ€. β» Spring Data MongoDBμ κ²½μ° μ²μ μ¬μ©νκΈ° λλ¬Έμ νλ¦° λ΄μ©μ΄ μμ μ μμ΅λλ€. Sequence Collection μμ± package com.juhyun.shorturl.entity.sequence; import lombok.Getter; import lombok.Setter; import org.springframework.data.annotation.Id; .. 2021. 9. 10. Spring Boot + MockMvc ν μ€νΈ(feat. Kotlin) π Spring Boot + MockMvc ν μ€νΈ μλ νμΈμ, μ΄λ² μκ°μ μ 리ν λ΄μ©μ μ€νλ§ λΆνΈμ MockMvcλ₯Ό ν΅ν GET, POST λ±μ APIλ₯Ό ν μ€νΈνλ λ²μ λν΄ μ 리ν΄λ³΄λλ‘ νκ² μ΅λλ€. μ 체 μ½λλ κΉνλΈμμ νμΈνμ€ μ μμ΅λλ€ :) β» ν¬μ€ν μ νλ¦° λ΄μ©μ΄ μ‘΄μ¬νλ©΄ μ§μ λΆνλλ¦¬κ² μ΅λλ€! β MockMvcλ? MockMvcλ Spring MVCμ ν μ€νΈ νλ μμν¬λ‘, κ°μ§ κ°μ²΄λ₯Ό λ§λ€μ΄ μ΄ν리μΌμ΄μ μ μλ²μ λ°°ν¬νμ§ μκ³ λ Spring MVCμ λμμ μ¬νν μ μλ ν΄λμ€μ λλ€. μ΄λ₯Ό ν΅ν΄ κ°μ§μ HTTP μμ²μ 컨νΈλ‘€λ¬μ 보λ΄κ³ μλ² λ΄μμ 컨νΈλ‘€λ¬λ₯Ό μ€ννμ§ μκ³ μ»¨νΈλ‘€λ¬μ λμμ ν μ€νΈν μ μμ΅λλ€. MockMvcλ₯Ό μ¬μ©ν¨μΌλ‘μ μ€μ μλ² νκ²½κ³Ό λμΌν @SpringBoot.. 2021. 9. 7. Spring Boot(2.5x) Hibernate, data.sql μ€ν μ μ€λ₯(h2 database) κ°λ° νκ²½: SpringBoot(2.5x), Spring Data JPA, h2 μμ κ°μ κ°λ° νκ²½μμ data.sql νμΌμ μμ±ν λ€ μ ν리μΌμ΄μ μ μ€ννλ©΄ μ€λ₯κ° λ°μν©λλ€. κ°κ°μ μ½λλ λ€μκ³Ό κ°μ΅λλ€. User package com.juhyun.jwtexample.entity; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import javax.persistence.Column; import javax.per.. 2021. 7. 27. [Docker] Spring Boot + Docker + AWS EC2 λ°°ν¬νκΈ°(MacOS M1) π Spring Boot + Docker + AWS EC2 λ°°ν¬νκΈ°(Mac M1) μλ νμΈμ, μ΄λ² μκ°μλ μ€νλ§ λΆνΈ μ ν리μΌμ΄μ μ AWS EC2μ λ컀λ₯Ό ν΅ν΄ λ°°ν¬ν΄λ³΄λλ‘ νκ² μ΅λλ€. β» νλ¦° λ΄μ©μ΄ μ‘΄μ¬ν μ μμΌλ μ°Έκ³ ν΄μ λ΄μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€ :) μμ±ν μ½λλ κΉνλΈ μμ νμΈν μ μμ΅λλ€ :) μ μ νκ²½ μ€μ μ λ€μκ³Ό κ°μ΅λλ€. Mac OS(M1), μΈν 리μ μ΄, Spring Boot, Java 8, Gradle λν μ΄λ²μ M1μμ λ°°ν¬λ₯Ό ν λ, κΈ°μ‘΄ λΈλ‘κ·Έ λ΄μ©λλ‘ μμ μ νλ λμ€ μλ¬κ° λ°μνκ³ μ½κ°μ μ½μ§μ΄ μμλλ°μ .. π κ°λ΅ν μ 리ν΄λ³΄λλ‘ νκ² μ΅λλ€. λλ΅μ μΈ κ³Όμ μ μμ κ°μ΅λλ€. Dockerfile μ build ν΄μ docker image νμΌμ μμ±ν©λλ€. doc.. 2021. 7. 19. Spring Boot Maven profile μ΄μ & κ°λ° DB λΆλ¦¬(AWS EC2) π Spring Boot(Maven) profile μ΄μ & κ°λ° DB λΆλ¦¬ (νλ¦° λ΄μ©μ΄ μμμλ μμΌλ λΉνμ μΌλ‘ λ΄μ£Όμλ©΄ λ κ² κ°μ΅λλ€..! π) μλ νμΈμ! μ΄λ²μ μ 리ν λ΄μ©μ μ€νλ§ λΆνΈμμ μ΄μ & κ°λ° λΆλ¦¬ λ° AWS EC2μ λ°°ν¬ μ λλ€. μ€λ¬΄μμλ μ€μ μλΉμ€λλ DBμ κ°λ°μ€μΈ DBμ μ 보λ λ€λ₯΄κ² κ΄λ¦¬λ₯Ό νλλ° μ΄λ₯Ό μν΄ μ€νλ§ λΆνΈμμ profileμ ν΅ν΄ μ ν리μΌμ΄μ μ λ°°ν¬ν λ μ΄μκ³Ό κ°λ°μ λΆλ¦¬ν΄μ λ°°ν¬ν μ μλλ‘ μ§νν΄λ³΄κ² μ΅λλ€. λν μ λ νμ¬ μ ν리μΌμ΄μ μ AWS EC2 νκ²½μμ μ΄μ, λ°°ν¬λ₯Ό μ§ννκ³ μμ΅λλ€. λ‘컬μμ κ°λ° ν λ°°ν¬λ₯Ό νκΈ° μν΄ GitHubμ μ½λλ₯Ό pushν λ€ AWSμμ pullμ νκ³ λ°°ν¬λ₯Ό μ§ννκ² λλλ°μ, μ΄λ¬ν κ³Όμ μμ λ―Όκ°ν μ 보λ€(.. 2021. 6. 18. GitHub Actionμ ν΅ν CI ꡬμΆνκΈ° (SpringBoot + Maven) • μλ νμΈμ~ μ΄μ μ μ΄μνλ λΈλ‘κ·Έ λ° GitHub, κ³΅λΆ λ΄μ©μ μ 리νλ Study-GitHub κ° μμ΅λλ€! • λ€μ΄λ² λΈλ‘κ·Έ • GitHub • Study-GitHub • π π GitHub Actionμ ν΅ν Build μλν (SpringBoot + Maven) μλ νμΈμ! μ΄λ²μ μ 리ν λ΄μ©μ GitHub Actionμ ν΅ν΄ νλ‘μ νΈλ₯Ό μλμΌλ‘ Build νλλ‘ μ€μ ν΄λ³΄κ² μ΅λλ€. νμ¬ AWS EC2μ Spring Boot μ ν리μΌμ΄μ μ΄ μ€νλκ³ μλλ°μ, λ°°ν¬νκΈ°κΉμ§μ κ³Όμ μ λ€μκ³Ό κ°μ΅λλ€. λ‘컬μμ μ½λ μμ -> Commit -> GitHub PR -> Merge AWSμμ μμ λ μ½λ pull -> μ€νμ€μΈ μ ν리μΌμ΄μ μ μ§(kill) -> λ©μ΄λΈ λΉλ -> μ ν리μΌμ΄μ μ€ν μκ°μ΄.. 2021. 5. 14. μ΄μ 1 λ€μ λ°μν