Back End/Spring Boot 8

Spring Boot 구조

웹 브라우저스프링 부트 애플리케이션 { Controller 클래스: 외부 요청을 분기하여 적절한 서비스 클래스와 연결하여 작업을 처리하고 반환, Service 클래스: 데이터베이스 조작이나 비즈니스 로직을 메서드 기반으로 처리, Member클래스 - MemberRepository: Memeber 클래스로 구현한 클래스를 Repository 인터페이스가 실제 테이블과 매핑(JPA, Hibernate), 실질적인 데이터는 DB에 저장}JPA: 데이터베이스 연결 및 구현lombok: 클래스 메서드 구현 도우미h2: 인메모리 데이터베이스   Spring Boot의 세가지 계층프레젠테이션 계층 - Controller : 외부에서 HTTP 요청을 받아 비즈니스 계층으로 전송비즈니스 계층 - Service : 비즈니..

SpringBoot의 세가지 Annotation(@SpringBootConfiguration, @ComponentScan, @EnableAutoConfiguration)

아래는 SpringBootApplication.java 파일이다. @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration // 스프링 부트 관련 설정@ComponentScan(excludeFilters = {@Filter(type = FilterType.CUSTOM, // 사용자가 등록한 빈을 읽고 등록 classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class)})@EnableAutoConfiguration..

Querydsl 조회

결과조회 fetch() : 리스트를 조회(데이터 없으면 빈 리스트를 반환한다.) fetchOne() : 하나를 조회(결과가 없으면 null을 가져오고, 둘이상이면 com.querydsl.core.NonUniqueResultException을 터트린다.) fetchFirst() : limit(1).fetchOne() fetchResults() : 페이징 정보를 포함하여 total count 쿼리를 추가적으로 실행한다. fetchCount() : count 쿼리로 변경하여 count의 갯수를 조회한다.

Querydsl dependency 추가방법

build.gradle을 아래와같이 설정해준다. 추가하는 코드중에 s라던지 오타가 있으면 에러가 나온다. (스프링 부트 3버전 기준) plugins { id 'java' id 'org.springframework.boot' version '3.1.10' id 'io.spring.dependency-management' version '1.1.4' //querydsl 추가 // id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } group = 'study' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annota..

스프링부트 개요

- 즉시 운영 가능한 독립형, 스프링 기반의 애플리케이션을 쉽게 만들 수 있다. - 내장된 서버, 보안, 모니터링 및 외부화 된 설정같은 다양한 비 기능적 요소를 제공 - 제안된 스프링 플랫폼 및 서드 파티(3rd Party) 라이브러리로 개발을 빠르게 시작할 수 있다. - 최소한의 설정으로 애플리케이션을 개발하고 구동할 수 있다. - 즉시 실행 가능한 JAR(Java Archive)로 배포할 수 있다.