Spring boot72 JPA 와 하이버네이트란? DBMS에 여러 종류가 있듯이, ORM에도 여러 종류가 있습니다. 자바에서는 JPA(Java Persistence API)를 표준으로 사용합니다. 즉, JPA는 자바 진영에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스입니다. 그러나 실제로 DB와 상호작용하려면 이 인터페이스를 구현한 구체적인 도구가 필요합니다. 그 대표적인 구현체로는 Hibernate가 많이 사용됩니다. Hibernate는 JPA 스펙을 구현한 자바용 ORM 프레임워크로, 스프링 부트 프로젝트에서 ORM을 구현할 때 자주 사용되는 도구입니다. JPA(Java Persistence API):자바 객체와 관계형 데이터베이스를 연결하여 데이터를 관리하는 표준 API입니다. JPA는 객체 지향 도메인 모델과 데이터베이스 간의 중간 .. 2024. 9. 30. 스프링 부트 DB 접근 기술 ORM ORM(object-relational mapping)은 자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법입니다. 예를 들어, RDBMS에 name과 grade라는 컬럼에 각각 '고길동'과 '3'이라는 값이 들어있다고 생각해봅시다. 이 값을 자바 코드에서 사용하려면 JDBC API를 포함한 다양한 설정과 사전 지식이 필요합니다. 또한, SQL에 대한 공부도 필수적입니다. 하지만 ORM을 사용하면 데이터베이스에 존재하는 값들을 마치 자바 객체처럼 사용할 수 있습니다. 쉽게 말해, SQL을 전혀 몰라도 자바 언어로만 데이터베이스에 접근하여 값을 받아와 사용할 수 있습니다. 즉, 객체와 데이터베이스를 자바 언어로만 다룰 수 있게 하는 기술이 바로 ORM입니다. 물론 이 기술은 자바뿐만 아니라 다양한 언어에.. 2024. 9. 30. 스프링 부트의 웹 애플리케이션 구조 어떻게 만들어져 있을까? 학습 목표 1. MVC 패턴이란? 2. 레이어드 아키텍처란? 1. MVC 패턴 (Model-View-Controller)MVC 패턴은 애플리케이션의 기능을 세 가지 역할로 분리하는 구조입니다:Model (모델): 데이터와 비즈니스 로직을 관리합니다.View (뷰): 사용자에게 데이터를 시각적으로 보여줍니다.Controller (컨트롤러): 사용자의 요청을 받아 모델을 통해 처리하고, 결과를 뷰에 전달합니다.이 패턴은 애플리케이션의 UI 로직과 데이터 처리 로직을 분리하여 코드의 가독성을 높이고, 유지보수를 쉽게 합니다.2. 레이어드 아키텍처 (계층 구조)레이어드 아키텍처는 애플리케이션을 세 가지 주요 계층으로 나누어 각각의 책임을 명확히 하는 구조를 말합니다.프레젠테이션 계층 (Presentation L.. 2024. 9. 27. 스프링 부트 핵심 콘셉트가 뭘까? 💡 학습 목표1. 제어의 역전(IoC)과 의존성 주입(DI) 2.빈(Bean)과 스프링 컨테이너3.관점 지향 프로그래밍(AOP)4.이식 가능한 서비스 추상화(PSA)5.Application Context, context 개념을 직접 조사하고 정리하기 (과제) 사전 기반 지식1. 스프링 프레임워크(Spring Framework)일반적인 정의: 스프링 프레임워크는 자바 플랫폼을 위한 강력한 애플리케이션 프레임워크입니다. 객체 지향 프로그래밍의 원칙에 기반하여 애플리케이션을 구성하고 관리하는 방식으로, 주로 엔터프라이즈급 애플리케이션을 구축할 때 사용됩니다.설정 방식: 스프링은 초기 설정이 복잡할 수 있습니다. XML 설정 파일이나 자바 기반의 설정 클래스를 통해 다양한 기능을 직접 구성해야 합니다.기능: .. 2024. 9. 26. 31. 비동기 통신 사용해보기 (Fatch 함수 사용) Fatch 함수 사용 예시 https://jsonplaceholder.typicode.com/guide/ JSONPlaceholder - GuideGuide Below you'll find examples using Fetch API but you can JSONPlaceholder with any other language. You can copy paste the code in your browser console to quickly test JSONPlaceholder. Getting a resource fetch('https://jsonplaceholder.typicode.com/posts/jsonplaceholder.typicode.com package com.tenco.bank.api;impo.. 2024. 9. 2. 30. 존재하지 않는 경로에 대한 요청 처리(404페이지 연결) GlobalControllerAdvice - @ExceptionHandler(Exception.class) 주석 처리 @ControllerAdvice // IoC 대상 (싱글톤 패턴) --> HTML 렌더링 예외에 많이 사용public class GlobalControllerAdvice { /** * (개발시에 많이 활용) * 모든 예외 클래스를 알 수 없기 때문에 로깅으로 확인할 수 있도록 설정 * 로깅처리 - 동기적 방식(System.out.println), @slf4j (비동기 처리 됨) */// @ExceptionHandler(Exception.class)// public void exception(Exception e) {// System.out.println("-------.. 2024. 9. 2. 이전 1 ··· 4 5 6 7 8 9 10 ··· 12 다음