일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 수식 최대화
- 미세먼지 안녕!
- SW ExpertAcademy
- 12865번
- 경주로 건설
- 14499번
- HTML 기초
- 빛의 경로 사이클
- 16234번
- 1038번
- QueryDSL 기초
- 프로그래머스
- 거울 설치
- 감소하는 수
- 1789번
- 베스트엘범
- 19238번
- 15686번
- 파이썬
- 키패드 누르기
- 17144번
- 백준 알고리즘
- 어른 상어
- SW Expert Academy
- 2020 카카오 인턴십
- 12869번
- 9095번
- 스타트 택시
- 보석 쇼핑
- python
- Today
- Total
목록웹 개발 (6)
보물창고 블로그

이 글에서는 QueryDSL의 기초 사용법에 대해 정리하고자 합니다. 먼저 QueryDSL은 쿼리를 자바 코드로 작성할 수 있게 도와주는 기술입니다. Spring Data JPA로 해결하지 못하는 복잡한 쿼리/동적 쿼리를 쉽게 해결할 수 있습니다. 자바 코드로 작성하기 때문에 문법 오류를 컴파일 시점에 잡아낼 수 있습니다. 먼저 저는 빌드 도구로 Gradle을 사용하므로 build.grade 파일에 dependencies에 아래 내용을 추가합니다. implementation 'com.querydsl:querydsl-jpa' // Querydsl JPAAnnotationProcessor 사용 지정 annotationProcessor "com.querydsl:querydsl-apt:${dependencyMa..

Bean 이란 스프링 IOC 컨테이너가 관리하는 객체입니다. 특징은 오로지 Bean 들만 의존성 주입을 해줍니다. 그렇다면 IOC 컨테이너에 Bean을 어떻게 등록하는 걸까요? 크게 2가지 방법이 있습니다. 첫 번째 방법은 Component Scanning입니다. Component Scanning의 방법은 @Component 어노테이션을 사용하는 방법입니다. @Repositoy , @Service, @Controller, @Configuration 등과 같은 어노테이션에 @Component 어노테이션이 붙어있습니다. @SpringBootApplication 어노테이션에 붙어있는 @ComponentScan 어노테이션을 통해 @Component 어노테이션이 붙은 객체들을 IOC 컨테이너에 Bean 객체로 등..

IOC란 Inverse Of Control의 약자로서 제어의 역전이라고 합니다. 일반적인 의존성에 대한 제어권은 "내가 사용할 의존성은 내가 만든다."의 개념으로 동작합니다. class HoseController{ private HoseRepository hose = new HoseRepository(); } 위 코드와 같이 HoseController 클래스에서는 클래스가 스스로 HoseRepository를 생성함으로써 멤버 변수인 hose에 대한 의존성을 직접 만듭니다. 하지만 스프링 프레임워크는 이러한 멤버변수에 대한 의존성을 IOC 컨테이너가 설정해줍니다. IOC 컨테이너란 스프링 프레임워크에서 ApplicationContext(BeanFactory) 객체인데, 이 IOC 컨테이너에서 Bean을 만..
Spring Boot에서 API 버전 관리는 여러가지 방법이 있습니다. 첫번째 URL을 통한 버전관리 방법입니다. 아래와 같이 URL에 /v1 을 추가하여 API 버전을 관리하는 것입니다. @GetMapping("/v1/users/{id}") 두번째 방법은 request param에 version 정보를 추가하는 것입니다. 방법은 아래와 같습니다. @GetMapping에 params에 version 정보를 추가합니다. @GetMapping(value = "/users/{id}/",params = "version=2") 세번째 방법은 Http 요청 header에 version 정보를 추가하는 것입니다. @GetMapping(value = "/users/{id}",headers = "VERSION=1")