Back End 58

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..

war방식의 단점

프로젝트를 배포하기위해서는 톰캣같은 WAS(웹 어플리케이션 서버)를 설치하고 여기서 설정하고 배포를 해야한다. 이렇게 서버와 빌드파일이 분리되어있는데 별도로 설치를 해야하고 설정하는게 복잡하다. 톰캣같은경우 버전이 변경되면 다시 설치를해야해서 복잡하다. 그러다보니 Spring Boot에서는 톰캣을 내장 라이브러리로 제공해서 내장 톰캣을 지원하게되었다.

Back End/Spring 2024.03.16

코틀린 개요

intellij를 만든 jetbrain사에서 만든 언어다. 자바에 비해서 문법이 간결해 가독성과 생산성이 높고 오류 가능성이 낮다. 자바에서 복잡하게 구현해야되는 것들을 코틀린에서는 쉽게 제공한다. data class Person( val name: String, val age: Int, val email: String ) // equals(), hashCode(), toString()등 유용한 함수를 자동 생성 object MyCompany { // 싱글턴 객체 const val name: String = "MyCompany" } // 탑-레벨 함수로 클래스 외부에서 함수 작성 가능 fun main() { // `new` 키워드 없이 객체 생성 val person = Person("이상훈", 35, "..

스프링부트 개요

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

Spring MVC

- 스프링 프레임워크를 구성하는 모듈, 정식 명칭은 Spring Web MVC다. - 서블릿 API를 기반으로 작성된 웹 프레임워크다. - 프론트 컨트롤러 패턴과 MVC 아키텍처 패턴을 사용 - 유연하고 확장성이 뛰어난 구조 - 견고한 웹 애플리케이션을 만드는데 도움이 되는 풍부한 기능을 제공 - 자바 언어의 Annotation과 Reflection API를 적극 사용 - Annotation-based programming 모델을 제공 - 경량 functional programming model을 지원 - CoC(Convertion over Configuration, 설정보다 관례)를 지원 - 짧은 코드로 함축적인 프로그래밍이 가능 # Annotation-based programming - @Contro..

Back End/Spring 2023.08.22