빌더 패턴 (Builder Pattern) 이란?
·
BackEnd/Spring
빌더 패턴(Builder Pattern) 이란? 빌더 패턴은 객체 생성 패턴 중 하나로, 복잡한 객체를 단계별로 생성할 수 있게 해준다. 이 패턴은 특히 많은 매개 변수를 가진 생성자나 객체 생성 시 다양한 옵션을 제공해야하는 경우에 유용하다. 빌더 패턴을 사용하면 객체 생성의 유연성을 높이고 , 가독성과 유지 보수성을 향상시킬 수 있다. 빌더 패턴의 구성 요소 Builder 클래스 : 객체 생성을 담당하는 내부 클래스 이다. 이 클래스는 객체의 각 필드를 설정할 수 있는 메서드들을 제공하며, 최종적으로 객체를 생성하는 build( ) 메서드를 가진다.Director 클래스 (선택적) : 객체 생성 절차를 정의하는 클래스이다. 빌더 패턴의 구현 시 반드시 필요한 것은 아니며, 주로 복잡한 객체 생성 절차..
Entity 와 DTO의 개념과 차이점
·
BackEnd/Spring
Entity Entity 클래스는 실제 DB 테이블과 매핑되는 핵심 클래스로, 데이터 베이스의 테이블에 존재하는 컬럼들을 필드로 가지는 객체이다. DB의 테이블과 1:1로 매핑되며, 테이블이 가지지 않는 컬럼을 필드로 가져서는 안된다.또한, Entity는 데이터 베이스와 연동되기 때문에 수정이 가능하며, Entity의 데이터가 변경되면 그 변경 사항이 데이터 베이스에 반영될 수 있다.Entity는 데이터 베이스 영속성 (persistent)의 목적으로 사용되는 객체이기 때문에 요청(Request) 나 응답(Response) 값을 전달하는 클래스로 사용하는 것은 좋지 않다.또, 많은 서비스 클래스와 비즈니스 로직들이 Entity  클래스를 기준으로 동작하기 때문에 Entity  클래스가 변경되면 여러 클래..
[Thymeleaf] 3. 사용 예시 (기본, 레이아웃)
·
BackEnd/Spring
Thymeleaf practice 1타임리프 결과 출력메세지 : 메세지 출력 장소-->메세지 : [[${msg}]]"|문자열|"지역 변수 처리 : 변수는 span tag 내에서만 유효 관계 연산 : = 4"> 조건 연산(if, unless) : 5?'크구나':'작네'">삼항 연산조건 연산(true) : 3">조건이 참일때 수행조건 연산(false) : 조건이 거짓일때 수행switch 조건문 : 모르는 이름이에요DTO 자료 출력 : getter 사용getCode 호출getSang 호출[[${sangpum.price}]] [[*{['price']}]]반복 처리 : 코드품명가격 [[${s.code}]][[${s.sang}]][[${s.price}]]   Thymeleaf prac..
[Thymeleaf] 2. Thymeleaf 문법
·
BackEnd/Spring
Thymeleaf의 목표 Thymeleaf의 주 목표는 템플릿을 만들 때 유지관리가 쉽도록 하는 것이다. 이를 위해 디자인 프로토타입으로 사용되는 템플릿에 영향을 미치지 않는 방식인 Natural Templates을 기반으로 한다. Natural Templates은  기존 HTML 코드와 구조를 변경하지 않고 덧붙이는 방식이다.  Thymeleaf의 장점코드를 변경하지 않기 때문에 디자인 팀과 개발 팀 간의 협업이 쉽다.JSP와 달리 Servlet Code로 변환되지 않기 때문에 비즈니스 로직과 분리되어 View에 집중할 수 있다.서버 상에서 동작하지 않기 때문에 서버없이 화면을 확인 할 수 잇다. 그래서 더미 데이터를 넣고 화면 디자인 및 테스트에 용이하다. Thymeleaf Namespace Thym..
[Thymeleaf] 1. Thymeleaf 의 특징과 설정 방법
·
BackEnd/Spring
Thymeleaf란 Java 기반의 서버 사이드 템플릿 엔진으로, Spring Boot에서 주로 사용되는 템플릿 엔진이며, HTML, XML, JavaScript, CSS 및 일반 텍스트를 처리할 수 있는 웹 및 독립형 환경에서 사용할 수 있다. Thymeleaf는 HTML 파일을 가져와서 파싱하여 분석 후 정해진 위치에 데이터를 치환해서 웹 페이지를 생성한다. 더보기HTML : compile 없이 클라이언트 쪽 브라우저에서 해석(파싱)해 바로 출력해 준다.JavaScript : 브라우저 위에서 구동하므로 서버 템플릿 엔진의 손을 벗어나 제어할 수 없다. Template Engine 이란? : 프로그램 로직을 표현하는 계층과 서비스를 사용하는 유저가 보는 데이터 출력을 위한 프레젠테이션 계층을 분리하기 ..
Spring Annotaion 알아보기
·
BackEnd/Spring
Annotation 이란?  Spring Framework에서 사용되는 메타데이터를 제공하는 방식으로, 사전적 의미로는 주석이라는 뜻이다.자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 클래스, 메서드, 필드 등에 다양한 기능을 부여할 수 있다.이를 통해 XML 설정 파일을 줄이고 코드의 가독성과 관리성을 높일 수 있다. Annotation의 용도 어노테이션을 사용하면 코드가 깔끔해지고 재사용이 가능하다.컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다.소프트웨어 개발 툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보를 제공한다.실행시 (런타임시) 특정 기능을 실행하도록 정보를 제공한다. Annotation 사용 순서 어노테이션 정의클래스에 어노테이션 배치코드가 실행되는 ..
Ant, Maven, Gradle 의 차이
·
BackEnd/Spring
Ant, Maven, Gradle은 모두 Java 프로젝트의 빌드 및 관리 도구로 사용되지만, 각기 다른 특징과 철학을 가지고 있다. 1. AntAnt는 자바 빌드 도구로서 XML 기반의 스크립트 언어를 사용하여 빌드 파일을 작성한다. Ant는 CVS, SVN 체크 아웃에서부터 컴파일, 테스트, 디플로이까지의 빌드 프로세스를 자동화 할 수 있다. Ant는 project, target으로 구성되며 target 안에 task를 구현한다. Ant를 사용하려면 build.xml 파일을 작성하고 실행해야한다. 특징 : 유연하지만, 설정이 복잡할 수 있다. 모든 빌드 작업을 수동으로 정의해야한다.기본적으로는 라이브러리 관리를 지원하지 않으므로, 라이브러리를 직접 다운로드하고 설정해야한다.선언형이 아닌 절차적(Pro..