전체 글(76)
-
JPA : Java Persistence API
ORM (Object Relational Mapping) : 객체와 관계형 데이터베이스 간의 매핑을 자동화하는 프로그래밍 기술이나 기술 집합이다. Ex. Hibernate, EclipseLink, MyBatis JPA : JPA는 자바 진영의 ORM(Object-Relational Mapping)의 기술 표준으로 사용하는 인터페이스의 모음으로 JPA를 사용하면 객체지향 프로그래밍의 이점을 살리면서 DB와의 통합을 효율적으로 할 수 있다. JPA 특징 1. 애노테이션 기반 매핑 : 어노테이션을 사용하여 객체와 DB간의 정보를 매핑 정보를 지정하여 복잡한 쿼리를 작성하지 않고도 DB 연동을 수행할 수 있다. @Entity @Table(name = "employees") public class Employee..
2023.11.15 -
DDD 설계 VS SQL 중심 설계
DDD(Domain Driven Design) 설계 개념: DDD는 도메인기반 설계로 도메인 패턴을 중심에 놓고 설계하는 방식으로 복잡한 도메인을 다룰 때 효과적이다. 특징 DDD는 비즈니스 도메인에 중점을 두기 때문에, 개발자와 비즈니스 전문가 간의 커뮤니케이션이 원활해 질 수 있다. 지속적인 학습과 개선을 요구하며 비즈니스 요구사항 변경에 용이하다. 비즈니스 로직이 중심이 되기때문에 코드의 유지보수와 확장성이 높아짐복잡한 도메인을 다루는 데 유용하지만, 단순한 애플리케이션에서는 과도한 복잡성을 초래할 수 있다.설계 초반에 들이는 시간, 비용이 많이 들 수 있다. 도메인이란? : 비즈니스의 핵심과 관련된 문제의 영역 덩어리로 어떤 소프트웨어 시스템을 구축하고자 할 때, 그 시스템이 다루는 주요 주..
2023.11.11 -
Entity vs DTO vs VO 개념과 특징
✏️ 데이터를 처리할 때 사용되는 Entity와 DTO와 VO의 개념과 특징에 대하여 알아보자 Entity 개념 Entity는 객체 지향 프로그래밍에서 데이터를 표현하는 객체로 Java에서 데이터베이스와의 상호작용을 관리하기 위한 객체로 사용된다. Entity 클래스는 데이터베이스 테이블과 일치하는 구조를 가지며, 데이터베이스의 레코드를 나타낸다. 해당 클래스는 CRUD(데이터를 저장, 검색, 업데이트 및 삭제) 작업을 할 때 사용된다. 특징 Entity 객체는 DB Table과 구조가 일치하며 Field는 테이블의 열(Column)과 일치하는데 이것을 ORM (Object-Relational Mapping)을 사용하여 자동으로 매핑할 수 있다. * DB의 테이블 내에 존재하는 컬럼만을 속성(필드)으로 ..
2023.11.08 -
HTTP 그리고 HTTP Methods
HTTP (HyperText Transfer Protocol) : 웹 브라우저와 웹 서버 간의 데이터(리소스)를 교환할 수 있게 하는 프로토콜(규칙)이다. HTTP의 특징 TCP/ IP를 이용하는 응용 프로토콜이다. HTTP는 각 요청이 독립적이며 연결 상태를 유지하지 않는 무상태성 프로토콜이다. HTTP 메시지는 주로 텍스트 기반으로 구성되고, 사람이 읽을 수 있는 형식을 가지고 있다. HTTPS(HTTP Secure)를 통해 HTTP 통신을 암호화하여 데이터의 기밀성과 무결성을 보호할 수 있다. HTTP는 클라이언트-서버 모델을 기반으로 동작하며 클라이언트가 서버에 요청을 보내고, 서버는 응답을 반환한다. HTTP의 구조 : HTTP는 기본적으로 클라이언트와 서버 간의 요청과 응답 메시지로 구성되며,..
2023.11.07 -
Controller,Service,Repository에서의 DI
🤔 Controller,Service,Repository에서 @Autowired를 이용하여 DI를 할 수 있는 이유에 대하여 알아보자. * 예시 코드 1. Controller package com.example.demo.controller; import com.example.demo.service.DemoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bi..
2023.11.05 -
스프링 빈(Bean) 이란?
Spring Bean : Spring Bean은 스프링 컨테이너가 관리하는 자바 객체로 컨테이너에 의해 생명주기(Lifecycle)가 관리된다. Bean의 생명주기(Lifecycle) : Bean 객체가 생성되고 초기화되며 소멸되는 일련의 단계를 의미한다. 생명 주기 단계 스프링 컨테이너 생성 Bean 등록 의존성 주입 초기화 사용 소멸 스프링 종료 생명 주기 단계 - Bean 등록 1. @Configuration + @Bean 조합을 이용하여 직접 등록 @Configuration public class AppConfig { @Bean public MyBean myBean() { return new MyBean(); } @Bean public AnotherBean anotherBean() { // 의..
2023.11.05