본문 바로가기

728x90
반응형

Back-end & Server

(52)
[Spring Boot] Testing Springboot는 기본적으로 JUnit을 지원한다. JUnit은 자바에서 가장 널리 사용되는 단위 테스트 프레임워크다. 테스트 주도 개발(TDD: Test-Driven Development)의 핵심 도구로, 개발자가 소프트웨어를 개발하는 과정에서 발생할 수 있는 버그를 사전에 잡아내는 것을 돕는다. 주요기능은 다음과 같다. 1. TestCase 테스트의 기본단위로, 한 번에 하나의 조건을 검사한다. 각각의 테스트 케이스는 독립적으로 실행되며, 다른 테스트 케이스에 영향을 미치지 않아야 한다. 2. Test Suite 여러 테스트 케이스를 그룹화한 것이다. 테스트 케이스들을 한 번에 실행할 수 있다. 3. Assertion 코드가 예상한 대로 동작하는지 검증하기 위해 사용된다. ex. assertEqu..
[Spring Boot] Thymeleaf Thymeleaf는 서버 측 Java 템플릿 엔진이다. HTML, XML, JavaScript, CSS 등의 웹 표준 콘텐츠를 생성하는데 사용되며, Spring MVC와 자연스럽게 통합되어 웹 애플리케이션을 개발하는 데 이용된다. 주요 특성은 다음과 같다. 1. Natural Templates Thymeleaf의 가장 큰 장점 중 하나 템플릿 파일이 그 자체로 정적인 파일로서 작동하게 만들어준다. 웹 브라우저에서 직접 열어볼 수 있다. 디자이너와 개발자가 동시에 작업할 수 있게 해서 협업을 용이하게 한다. 2. Standarad and Spring Standard dialects Thymeleaf는 여러가지 dialects를 지원한다. Standard와 SpringStandard dialects(방언)을..
[Spring Boot] JSP(Java Server Pages) JSP(Java Server Pages)는 동적인 웹 페이지를 생성하기 위한 서버 사이드 스크립트 언어이다. Java를 기반으로 하며, HTML 안에 Java 코드를 삽입하는 방식으로 웹 페이지를 생성하고, 이렇게 생성된 JSP 파일은 웹 서버에서 Servlet으로 변환되어 실행된다. 동적인 데이터를 웹 페이지에 쉽게 표현할 수 있도록 해주며 MVC 디자인 패턴에서 View 부분을 담당하는데 주로 사용된다. HTML과 같이 태그를 사용하여 작성하지만, 와 같은 스크립트 요소를 사용하여 Java 코드를 삽입할 수 있고, JSTL(JSP Standard Tag Library)와 같은 태그 라이브러리를 사용해 로직을 표현할 수도 있다. JSP의 기본 구조 다음 예시를 살펴보자 Hello, ! Hello, ${..
[Spring Boot] JPA(Java Persistence API) JPA 개요 JPA(Java Persistence API)는 Java ORM(Object-Relational Mapping) 기술에 대한 표준 명세로, 자바에서 제공하는 API 중 하나이다. ORM은 객체 지향 프로그래밍 언어를 사용하여 비즈니스 객체를 관계형 데이터베이스의 데이터로 매핑하는 프로그래밍 기법이다. 주요기능 1. ORM 지원 JPA는 RDBMS의 데이터를 객체 지향적으로 관리할 수 있게 해주는 ORM 기술을 제공한다. 객체와 RDB 사이의 패러다임 불일치 문제를 해결하는 역할을 한다. 2. 쿼리 언어 제공 JPA는 JPQL(Java Persistence Query Language)이라는 쿼리 언어를 제공한다. JPQL은 SQL과 유사하면서, 엔티티 객체를 대상으로 쿼리를 작성할 수 있게 해..
[Spring Boot] DAO, DTO DAO(Data Access Object) DB의 데이터에 접근하기 위한 객체이다. DB에 접근하여 데이터를 조회하거나 조작하는 로직을 담당한다. DB의 연결관리, SQL문 실행 등의 기능을 통해 데이터를 처리한다. 일반적으로 인터페이스로 처리되고 이 인터페이스의 구현체에서 실제 DB 연결 및 데이터 처리 로직을 구현한다. 이를 통해 데이터 접근 로직과 비즈니스 로직을 분리하여, 코드의 유지보수성을 높일 수 있다. DTO(Data Transfer Object) 계층 간 데이터 교환을 위해 사용되는 객체이다. 일반적으로 DB에서 데이터를 가져온 후, 이를 클라이언트에게 전송하기 위해 사용되는 객체를 의미한다. 로직을 가지지 않은 순수한 데이터 객체, getter, setter 메소드만 포함한다. 데이터 전..

728x90
반응형