스프링

💻 Programming/Spring

[Spring] DTO ↔ Entity 변환하기

16번째 과제 [Spring] Entity, DTO, VO 의 개념과 특징 12번째 과제 Entity - 실제 DB의 테이블과 매핑되는 객체 - id를 통해 각각의 Entity를 구분한다 - 로직을 가질 수 있다 import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.GeneratedValue; impo sooz.tistory.com 이전에 Entity와 DTO, VO의 개념과 특징을 알아보았다. 배달 API 구현 프로젝트를 진행하면서 우선적으로 Food Entity 를 구현하였고 이를 DTO로 변환하려고 한다. 그리고 Entity 와 DTO 는 분리하여 사용하는 것이 좋다고 한다. 왜 인지는 아래에서 확..

💻 Programming/Spring

[Spring] DDD 설계와 SQL 중심 설계

13번째 과제 DDD (Domain Driven Design) 설계 개념 DDD 설계란 데이터 중심 설계에서 벗어나 도메인을 기반으로 설계하는 방식을 의미한다. 배달 서비스를 개발한다고 생각하면, 음식, 회원, 주문 등으로 비즈니스 도메인을 나누어 설계를 시작하는 것이다. 음식을 상위 도메인이라고 한다면 음식의 이름, 가격, 옵션 등은 하위 도메인으로 생각해 볼 수 있다. 이처럼 비즈니스 도메인을 먼저 생각해보고 이해를 하며 설계하는 것이 DDD 설계이다. 특징 도메인 모델과 로직에 초점을 둔다. 높은 응집도와 낮은 결합도를 지향하므로 유지보수와 확장성이 용이하다 소프트웨어의 복잡성을 최소화하는 것을 목적으로 한다 SQL 중심 설계 개념 SQL 중심 설계는 데이터베이스 구조와 데이터 흐름을 중심으로 하는..

💻 Programming/Spring

[Spring] Entity, DTO, VO 의 개념과 특징

12번째 과제 Entity - 실제 DB의 테이블과 매핑되는 객체 - id를 통해 각각의 Entity를 구분한다 - 로직을 가질 수 있다 import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String email; public User() { } public User..

💻 Programming/Spring

[Spring] Service와 Repository 구현하기 & 3계층 연결

10번째 과제 1. 스프링 빈(Spring Bean) 등록 방법 스프링 IoC 컨테이너는 클래스에서 어노테이션을 보고 클래스의 인스턴스를 만든다. 이러한 인스턴스를 빈(Bean)이라고 한다. 스프링 빈을 등록하는 방법에는 2가지가 있다. 첫 번째, @Configuration + @Bean 조합 두 번째, @Component 스캔 두 번째 방법인 컴포넌트 스캔은 Service와 Repository 에 어노테이션으로 스프링 빈을 등록해주고 Autowired를 설정해주면, 자동으로 의존 관계를 주입해주는 방식이다. 스프링 빈으로 등록되면 DI를 요청할 수 있고, DI를 요청하는 방법은 필드 위에 @Autowired를 적어주면 된다. @Controller class Controller{ @Autowired Se..

💻 Programming/Spring

[Spring] Controller 클래스 구현하기

9번째 과제 1. start.spring.io 활용해서 스프링 부트 프로젝트 생성하기 start.spring.io에 들어가서 설정 후 Generate 버튼을 눌러 프로젝트 zip 파일을 다운받는다. 파일의 압축을 풀고 IntelliJ에서 Open Project를 해주면 끝! 2. Controller 클래스 구현하기 - 요구사항 : 웹브라우저에 ‘localhost:8080/test’ 주소를 입력하면 첨부와 같이 TEST 글자 출력하기 controller 폴더를 만들고 그 안에 TestController 파일을 생성하였다. package com.example.demo.controller; import org.springframework.stereotype.Controller; import org.spring..

💻 Programming/Spring

[Spring] 스프링의 3계층 - Controller, Service, Repository

8번째 과제 스프링의 꽃, 3계층 [ Client -- Controller 👉🏻 Service 👉🏻 Repository -- DB ] Client와 DB 사이 3계층의 역할은 각각 무엇일까? Controller - 역할 : 클라이언트에서 요청된 요구사항을 처리하고 지정된 뷰에 모델 객체를 넘겨준다. - 기능 : 요구사항 요청에 따라 어떤 처리를 할지 Service에 결정을 넘겨주고 전달된 값을 다시 클라이언트에 반환해준다. Service - 역할 : 실제로 작업이 일어나는 단계. 즉, 비즈니스 로직이 처리되는 곳이다 - 기능 : 서버에서 사용자의 요구사항을 처리한다. DB 정보가 필요하면 Repository에 요청한다. Repository - 역할 : Service에서 나온 결과값을 저장하거나 기존의 저..

💻 Programming/Spring

[Spring] DI와 IoC

7번째 과제 1. DI DI(Dependency Injection) : 의존성 주입 - 스프링은 기본적으로 의존 관계 주입 프레임워크이다. - 객체 간 의존관계를 스프링 컨테이너가 개발자가 정의한 Bean 등록 정보를 바탕으로 자동으로 주입해주는 것이다. - 단단하게 결합된 클래스들을 느슨한 결합으로 연결되게 해준다. DI 방법 1) 필드 주입 : 객체를 클래스에 필드로 선언하고 @Autowired를 붙인다 2) 생성자 주입 : 생성자에 @Autowired를 붙인다 (가장 권장!) 3) Setter 주입 : Setter 메서드에 @Autowired를 붙인다 2. IoC IoC(Inversion of Control) : 제어의 역전 - 직접 객체를 생성하는 것이 아니고 직접 DI 작업을 진행하지 않고 스프..

💻 Programming/Spring

[Spring] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

김영한 - 스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com 시작 9월 4일 수강 시작 - 목표는 2주 이내 수강 완료하기 복습할 겸 스프링 입문 강의부터 다시 공부해보기로 했다. 이번 강의 수강 끝나면 로드맵 순서대로 수강할 예정이다. 그동안 생각만 했던 아이디어를 개인 프로젝트라도 구현해보고 싶다. 배포까지 하는게 올해 목표! Section 1. 프로젝트 환경설정 ..

soozkim
'스프링' 태그의 글 목록