채야미의 코드레시피🍳

STUDY/Spring

STUDY/Spring
기본 개념Spring Web MVC 패턴Spring Web MVC는 Model-View-Controller(MVC) 패턴을 기반으로 한다.Model: 애플리케이션의 데이터와 비즈니스 로직 담당View: 사용자 인터페이스 담당. (JSP, Thymeleaf 등의 템플릿 엔진)Controller: 사용자 요청을 처리, 모델-뷰 연결 -> Dispatcher Servlet이 컨트롤러 호출Dispatcher Servlet이 때 Dispatcher Servlet은 Spring Web MVC 프레임워크의 핵심 구성 요소로서, 클라이언트의 모든 요청을 받아 적절한 컨트롤러(핸들러)를 찾아 전달하는 역할을 한다.이렇게 컨트롤러 구현을 단순화할 수 있으며, 비즈니스 로직에 집중하고  HTTP 요청 및 응답 처리 등에 대..
STUDY/Spring
ORM이란?ORM(Object-Relational Mapping)은 객체 지향 프로그래밍 언어(OOP 언어, Java/C#등)와 관계형 데이터베이스 간의 데이터 변환을 자동으로 처리하는 기술ORM을 사용하면 SQL 쿼리 대신 직관적인 코드로 데이터를 조작할 수 있다.ORM은 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여 객체 모델과 관계형 데이터베이스 간의 불일치를 해결하고, 이를 통해 개발자는 데이터베이스를 간접적으로 조작할 수 있다.ORM의 장/단점장점생산성 향상: SQL 쿼리 작성을 자동화해 개발 시간을 단축시킬 수 있다.유지보수성 향상: 객체 지향적인 코드로 데이터베이스를 관리하므로 유지보수가 용이하다.데이터베이스 독립성: 데이터베이스 종류에 상관없이 동일한 코드로 작동객체 지향적 접근:..
STUDY/Spring
QueryDSL?QueryDSL은 데이터베이스 쿼리를 생성하기 위한 자바 라이브러리로, JPQL(Java Persistence Query Language)을 보다 유연하게 사용할 수 있도록 도와준다.주로 JPA(Java Persistence API)와 함께 사용되며, 런타임 시점에 유효성 검사가 가능하며, IDE의 자동완성 기능을 지원하여 쿼리 작성 시 오타 등을 방지하는 등의 장점이 있다.기능 및 장점타입 안정성(Type Safety)Java 코드로 쿼리 작성 -> 컴파일 시점에서 타입 안정성 제공오타나 잘못된 속성명을 사용할 경우 컴파일 오류로 잡아낼 수 있어 개발 단계에 도움을 줄 수 있다.Entity 클래스와 QueryDSL의 연동엔티티 클래스를 기반으로 쿼리 작성 가능-> 데이터베이스 테이블과 ..
STUDY/Spring
Spring Data JPA 는 Spring 프레임워크에서 JPA를 더욱 쉽게 사용할 수 있도록 지원하는 모듈이다.이전 JPA/Hibernate에 대해 알아볼 때, EntityManager를 주입받아 사용했다.그러나 Spring Data JPA는 Repository 인터페이스를 통해 JPA를 추상화한다. 즉, Repository 인터페이스를 정의하면 이를 구현해 사용할 때 Spring Data JPA가 자동으로 JPA의 구현체를 생성한다는 거다.그래서 JPA 구현체(Hibernate등)을 따로 사용할 필요가 없다.주요 특징/장점Repository 인터페이스 제공 : 기본적인 CRUD 작업 쉽게 구현 -> 생산성 향상쿼리 메서드 기능메서드 이름 규칙을 따르면 별도의 쿼리 작성 없이도 필요한 쿼리를 자동으로..
STUDY/Spring
JPA(Java Persistent API)JPA(Java Persistence API) : ORM 기술의 표준 인터페이스ORM은 객체와 관계형 데이터베이스를 매핑해 주는 기술이며, JPA는 이를 표준화한 것이다.그러니까, 자바 애플리케이션에서 관계형 데이터베이스를 사용할 때 이를 객체와 매핑해 주며 사용하기 위한 인터페이스라는 것이다.따라서 사용하기 위해서는 구현체가 필요하고,  JPA를 구현한 대표적인 프레임워크로는 Hibernate, EclipseLink, DataNucleus 등이 있으며, 이 중 Hibernate가 가장 널리 사용된다. [OOP] ORM(Object-Relational Mapping)ORM이란?ORM(Object-Relational Mapping)은 객체 지향 프로그래밍 언어(O..
STUDY/Spring
JDBC란?JDBC(Java Database Connectivity) : 애플리케이션에서 데이터베이스에 데이터를 저장하거나 업데이트, 접근할 수 있도록 도와주는 자바 API데이터베이스 연결, SQL문 실행, 쿼리 결과 처리 등을 위한 표준 인터페이스를 제공한다.등장 배경애플리케이션 개발 시 중요 데이터는 주로 데이터베이스에 저장된다. 클라이언트가 데이터를 저장하거나 조회할 때 과정은 간단히 다음과 같다.애플리케이션 서버는 TCP/IP를 통해 데이터베이스와 연결하고(커넥션 연결),연결된 커넥션으로 SQL을 전달하면 데이터베이스가 SQL 수행한 결과를 보내고, 애플리케이션에서 응답으로 받는다.하지만, 수십개에 달하는 각 관계형 데이터베이스마다 연결, SQL 전달, 결과 응답 방식이 다르므로, 데이터베이스 변..
ChaeYami
'STUDY/Spring' 카테고리의 글 목록