Back-end Develop 3

.JAR, .WAR 차이

.JAR 혹은 .WAR 스프링 부트 프로젝트를 개발하고 배포할 때,개발자는 여러 가지 고려해야 할 사항 중 하나이다. 이 두 가지 파일 형식은 Java 애플리케이션을 배포하는 데 사용된다. JAR (Java ARchive) 는Java 클래스 파일, 메타데이터, 리소스 파일 등을 포함하는 압축 파일이다.톰캣이 내장되어 있어서미들웨어가 없어도 혼자 잘 돌아간다.이 방식은 애플리케이션과 필요한 모든 종속성을 하나의 JAR 파일에 포함시켜,배포 및 실행을 간소화해준다. 반면에, WAR (Web Application Archive)는웹 애플리케이션을 패키징하는 데 사용한다.이미 was 환경이 존재해서톰캣을 내장하지 않고 배포한다. JAR는 간단하게 java -jar .jar 이 명령어면 배포가 된다. JAR는 스..

Back-end Develop 2024.07.30

JPA

ORM (Object-Relational Mapping) 이라는 걸 들으면Hibernate가 가장 먼저 떠오르는데Hibernate는 대중적으로 가장 성공한 ORM 프레임워크 중 하나일뿐이다. ORM의 시초는 EJB라고 Enterprise JavaBean의 엔티티 빈이라 할 수 있다.하지만 엔티티 빈의 느린 성능과 구현의 복잡성,데이터베이스 테이블과 완벽하게 매핑하지 못한다는 문제로 나락...갔다. 중요한 건!! 하이버네이트는 ORM의 자바 표준이 아니라는 것이다. 여기서 중요한 단어가 나오는데데이터 영속성과 관련된 유일한 자바 표준은 JPA뿐이다. 영속성(Persistence)시스템에서 사용자가 입력한 데이터를 사용하기 위해서당연히 해당 데이터가 어딘가 저장되어 있어야 한다.메모리에 저장된 데이터는 시스..

Back-end Develop 2024.07.19

JDBC, MyBatis, Hibernate 비교하기: 실습과 환경 설정

얼마 전에 Database와 연결하는거실습해본다고 JDBC, MyBatis, Hibernate 모두 사용해본적이 있다.그런데 JDBC 외에는MyBatis와 Hibernate의 차이를 명확히 구분하기 어려웠다.세가지 환경을 각각 설정하고 만들어 비교해보려고 한다. JDBC (Java Database Connectivity)JDBC는 Java 애플리케이션과 데이터베이스 간의 연결을 제공하는 Java의 표준 APISQL 쿼리를 직접 작성하고 데이터베이스와의 연결을 수동으로 관리해야 한다. 특징:직접 SQL 작성: 쿼리를 직접 작성하고 실행직접 관리: 커넥션, 쿼리, 결과 처리를 직접 관리구현 복잡성: 복잡한 쿼리와 트랜잭션을 관리하기 어려움장점:세밀한 제어: SQL 쿼리와 데이터베이스 연결을 직접 제어할 수 ..

Back-end Develop 2024.07.18