전체 글
-
Spring과 Spring Boot의 차이점Spring(Java) 2024. 8. 29. 00:14
개요Spring Boot Framework를 이용한 프로젝트를 진행 해보고, Spring Framework를 이용한 프로젝트와 어떤 차이점이 있을까에 대한 궁금증으로 조사를 시작했다.Spring과 Spring Boot의 특징을 알아보고 차이점을 알아보자Spring FrameworkSpring 레퍼런스에서 말하기를 Spring Framework는스트리밍, 온라인 쇼핑, 각종 솔루션 등 광범위한 사용 범위제어의 역전, 의존성 주입을 통한 유연성필수 요소들을 결합하여 높은 생산성을 보유빠른 개발 시간보안성커뮤니티의 규모가 크고 사용자가 많아 높은 지지력을 보유함등의 특징을 가지고 있다고 설명하고 있다. Spring BootSpring Boot는 이하 6개의 특징을 가지고 있다.독립 실행형 Spring 어플리케..
-
[Spring] Builder 패턴의 장점과 사용방법Spring(Java) 2024. 2. 8. 00:56
개요 프로젝트를 개발하다 보면 한 객체가 많은 변수를 가진 경우가 있다. 생성자를 이용해 객체를 생성하면 코드의 가독성이 많이 떨어진다. 항상 매개변수의 개수를 확인해야 하고, 원치 않은 변수의 초기화도 진행된다. Builder Pattern 빌더 패턴(Builder Pattern)이란 복합 객체의 생성 과정과 표현 방법을 분리해 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴이다. 생성자에 매개변수의 개수가 많아 질수록 해당 변수가 어떤 값을 나타내는지 구분하기 어려워지며, 특정 객체들은 특정 매개변수 만으로 생성해야 하는 경우가 발생한다. 이를 해결하기 위해 나머지 매개변수 값으로 null을 전달해주거나, 새로운 생성자를 만들게 되는데 코드의 가독성이 매우 떨어진다. Builde..
-
-
[Spring] 용어정리(Updated 240131)Spring(Java) 2024. 1. 31. 23:43
() : 내 생각 Entity DB의 테이블에 존재하는 Column들을 필드로 가지는 객체를 뜻함 Entity는 DB의 테이블과 1대1 대응이며, 테이블에 가지지 않는 Column을 필드로 가져선 안된다. 또한 다른 클래스를 상속받거나 인터페이스의 구현체이기보다 순수한 데이터 객체인 것이 좋다. (LocalDateTime으로 주로 선언하는 createdAt이나 modifiedAt 등의 필드, 공통되는 필드는 BaseEntity로 관리하며, 이를 상속 또는 구현해서 사용하는 것이 더 좋은 것 같다.) (createdAt 240131) DTO Data Transfer Object로 데이터를 이동하기 위한 객체다. Client가 Controller에 요청을 보낼 때 RequestDTO를 활용하며, Contro..
-
[SpringBoot] QueryDSL 사용법 + 환경설정Spring(Java) 2024. 1. 31. 15:00
Querydsl Querydsl 정적 타입을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해주는 프레임워크 배경 HQL 쿼리를 더 안전하게 실행하기 위한 목적으로 만들어졌다. HQL 쿼리를 작성하다보면 String 연결을 이용하고, 읽기 어려운 코드가 만들어진다. String을 이용해 도메인 타입과 프로퍼티를 참조하다보면 오타 등으로 잘못된 참조를 할 수 있다. 장점 Querydsl이 제공하는 Fluent API를 이용 가능 IDE의 코드 자동완성 기능 사용 가능 문법적으로 잘못된 쿼리를 허용하지 않음 도메인 타입과 프로퍼티를 안전하게 참조 가능 도메인 타입의 리팩토링을 더 잘 할 수 있음 환경설정 QueryDSLConfig.java @Configuration @RequiredArgsConstruct..
-
Spring MVCSpring(Java) 2023. 11. 3. 17:28
디자인 패턴과 MVC패턴 Spring MVC에 대해 설명하려면 기본적으로 디자인 패턴이 무엇인지, 그 중 MVC 패턴은 무엇인지에 대해 알아야 한다. 디자인 패턴 디자인 패턴이란 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것 MVC 패턴이란? Model - View - Controller 로 구성되어 있으며, 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴 Model 데이터베이스와 연동해 데이터를 저장하고 불러오는 역할을 수행 View나 Controller에 대해 어떠한 정보도 알지 못해야 함 View 모델(데이터)을 사용..