본문 바로가기

개발관련/Spring(BE)16

Spring Boot - JPA와 Hibernate 📚 JPA와 Hibernate 무엇을 하는가? 옛날 개발자 선배님들이 쓰시던 H2 데이터베이스를 설치하여 사용해볼 것이다. 그렇게 JPA 이전에 사용하던 세계를 먼저 이해한 뒤, JPA의 필요성과 JPA와 Hibernate의 차이를 파악해보자. application.properties에 다음을 추가한다 spring.h2.console.enabled=true 그리고 서버를 시작한 뒤 localhost:8080/h2-console에 접속해보자 아무것도 변경 안하고 접속하고자 하면 에러가 나게 된다. JDBC URL을 로컬에서 못찾고 있기 때문인데 properties에 따로 지정을 해주지 않으면 DB가 서버가 실행될 때 동적으로 만들어질 때 URL에 난수 값이 추가된다. 터미널에서 서버 로그를 뒤져보면 url.. 2023. 12. 15.
Spring Boot - JPA와 Hibernate를 추가한 프로젝트 생성하기 2. Learn JPA and Hibernate JPA와 Hibernate를 추가한 새 Spirng Boot 프로젝트 생성하기 Spring initializr에서 다음과 같이 선택하고 프로젝트를 생성한다 Dependencies에 Spring Web, JDBC, JPA, H2 Database를 추가해준다. build.gradle에서 다음과 같이 종속성이 잘 지정되었는지 확인한다. 여유가 난다면 devtools를 추가해보자. 2023. 12. 12.
Spring과 Spring Boot 그리고 Spring MVC Spring과 Spring Boot 그리고 Spring MVC 🧐 무엇을 하는가? 이번에는 🚀 Spring Boot, 🕸️ Spring MVC 그리고 🌳 Spring Framework를 함께 살펴보도록 하자. 🌱 이 세 가지를 이해하고 각각 어떤 역할을 하는지, 어떻게 상호 작용하는지 알아보자. 이 세 가지가 어떻게 다르고, 어떻게 함께 사용되는지 이해함으로써 우리는 더욱 효율적이고 견고한 애플리케이션을 구축할 수 있게 될 것이다. 🌳 Spring Framework의 역할 Spring Framework의 핵심은 바로 Dependency Injection(의존성 주입)이다. 의존성을 정의하고 식별하여 자동으로 연결하는 역할을 수행한다. 이를 위해 다음과 같은 어노테이션들을 사용할 수 있다 @Componen.. 2023. 12. 5.
Spring Boot 프로덕션 환경 배포 준비하기 (3) 🚀 프로덕션 환경 배포 준비하기 (3) 🧐 무엇을 하는가? 이번에는 프로덕션 환경에서의 모니터링에 대해서 알아보자. 서비스 중인 애플리케이션의 백그라운드를 모니터링 할 땐 Spring Boot Actuator를 사용하면 된다. 🕹️ Spring Boot Actuator Actuator는 Application을 모니터링하고 관리할 수 있는 데이터를 제공해준다. Actuator 디펜던시를 build.gradle에 추가해주면 된다. 각 엔드포인트로 다음 정보를 확인할 수 있다. 🌱 beans Application에 포함된 Spring beans를 확인할 수 있다. 💓 health Application의 상태 정보를 확인할 수 있다. 📊 metrics Application과 관련된 여러가지 metrics가 제공.. 2023. 12. 4.
Spring Boot 프로덕션 환경 배포 준비하기 (2) 🚀 프로덕션 환경 배포 준비하기 (2) 🧐 무엇을 하는가? 이번에는 Spring Boot Embedded Server에 대해 공부해보자 Spring Boot Embedded Server는 사용하면 배포를 간소화 할 수 있다. 다양한 환경을 하루에도 몇 번씩 배포를 진행해야 하는데, 이 과정이 간단하다면 생산성을 높일 수 있다. 📦 WAR 배포 이전에 사용하는 배포방식은 WAR 방식이다. WAR이란 Web Application aRchive의 약자로 웹 어플리케이션을 이루는 요소들을 한 곳에 모아 배포하는데 사용하는 JAR파일이다. Tomcat같은 서버에 WAR을 배포하는 방식으로 많이 사용해왔다. 코드 Clone → JAVA 설치 → Tomcat 설치 → WAR 배포로 진행된다. 하루에도 여러번 배포를 .. 2023. 12. 4.
Spring Boot 프로덕션 환경 배포 준비하기 (1) 🚀 프로덕션 환경 배포 준비하기 (1) 🧐 무엇을 하는가? 학생 때 만들었던 서비스들은 규모가 작아서, 개발 환경과 서비스 환경을 구분하지 않았다. 프로젝트를 진행하면 다양한 환경을 구축하고, 손쉽게 전환할 수 있어야 한다. 이 중에서도 가장 많이 다루는 설정은 바로 DB 선택과 설정! 이번에는 환경 별로 프로필을 만들고, 이를 다루는 법에 대해 알아보자. 🧑‍💻 🛠️ 프로필을 사용하여 설정 관리하기 하나의 어플리케이션에는 다양한 환경이 있어야한다. Dev 환경, QA 환경, Prod 환경 등등 여러 개의 환경들이 존재한다면 같은 코드에서 다른 DB들과 통신하거나 다른 웹 서비스도 호출할 수 있다. 이것을 우리는 프로필이라고 한다 src/main/resources의 application.propertie.. 2023. 12. 4.