1. Querydsl 설정하기 - H2 데이터베이스 설치 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 - 다운로드 및 설치 h2 데이터베이스 버전은 스프링 부트 버전에 맞춘다. - 권한 주기: `chmod 755 h2.sh` - 실행 다운로드 받은 경로 -> ./h2.sh 처음 데이터베이스 만들기 jdbc:h2:~/querydsl jdbc:h2:~/querydsl (최소 한번) 이후 부터는 `jdbc:h2:tcp://localhost/~/querydsl` 이렇게 접속 > 참고: H2 데이터베이스의 MVCC 옵션은 H2 1.4.198 버전부터 제거되었습니다. 이후 부터는 옵션 없이 사용하면 됩니다. > 주의: 가급적 안정화 버전을 사용하세요. 1.4.200 버전은 몇가지 오류가 있습니다. >..
Spring boot 프로젝트 만들기 새로 만든 프로젝트에 Querydsl 설정을 해보겠습니다. - build.gradle plugins { id 'org.springframework.boot' version '2.4.1' id 'io.spring.dependency-management' version '1.0.10.RELEASE' id 'java' // querydsl id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } group = 'io.alxxndr' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationPro..
안녕하세요.저번 포스팅에 이어 Spring @EventListner 2편입니다.- Spring @EventListner 사용해보기모든 소스코드는 Github에서 확인하실 수 있습니다.비동기로 이벤트를 처리해보자.이전에 포스팅에서는 이벤트가 순서대로 처리가 되었습니다.이번 포스팅에서는 각각의 이벤트를 비동기로 처리하는방법에 대해 알아보겠습니다. 현재 코드를 조금 수정을 하였습니다.각각의 기능의 3초, 2초간 sleep을 하여 실행하게 하였고결과를 확인해보면 각각 2초, 3초가 걸리고 총 약 5초가 실행시간으로나오게 됩니다.이유는 Log에서도 볼 수 있듯이 같은 Thread에서 처리를 하고 있기 때문입니다.이제 비동기로 실행하는 방법을 보겠습니다. 우선 각각의 @EventListner 위에 @Asnyc 어노..
모든 소스는 Github에 있습니다. 안녕하세요. 오늘은 @EventListner 에 대해 공유해보도록 하겠습니다. 도메인 사이에 강한 의존성으로 인해 시스템이 복잡해지는 경우가 발생하는데 의존성을 줄이기 위한 방법으로 @EventListner를 소개하겠습니다. Case 1. 우선 예시로 좋은 주문예시를 들도록 하겠습니다. 주문을 하게되면 발생하는 이벤트들이 있을겁니다. 예를 들면, 주문완료 카톡발송, 이메일 발송 등이 있을 수 있습니다. 아래의 코드를 보겠습니다. @Service public class OrderService { @Autowired ApplicationEventPublisher applicationEventPublisher; @Transactional public void save(Or..
Spring Exception Handler 안녕하세요. 오늘은 스프링 부트를 사용하면서 Exception처리를 하는 방법에 대해 공유해보도록 하겠습니다. @ExceptionHandler 첫 번째는 @ExceptionHandler를 사용해서 Error를 처리하는 방법입니다. 우선 프로젝트를 하나 만들어줍니다. 프로젝트 만들기 IndexController.java @RestController public class IndexController { @GetMapping public ResponseEntity index() { return ResponseEntity.ok("Hello ExceptionHandler Example"); } } ResponseEntity를 반환하는 간단한 API입니다. @RestC..
Spring Web static resources 오늘은 Spring Web에서 지원해주는 정적 리소스 경로 맵핑에 대해 공유해보겠습니다. 정적 리소스는 동적으로 만들어지지 않는 리소스 ex) 사진, javascript 등을 말합니다. 기본 리소스 위치 classpath:/static classpath:/public classpath:/resources classpath:/META-INF/resources html 생성 프로젝트 resources → static → hello.html hello.html Hello Static Resource 오호호 서버 실행 후 브라우저에서 확인해보겠습니다. 개발자 도구 (F12)를 열어서 Network 탭을 열어둔 후 다시 새로고침을 해보면 응답 코드가 200이 아닌..
안녕하세요. 이번엔 Spring boot를 처음 시작하시는 분들을 위해 프로젝트 생성부터 시작해보도록 하겠습니다. 우선 저는 Intellij Ultimate를 사용 중입니다. Intellij 기준으로 진행되는 점 양해 바랍니다. 1. Create Project 2. Spring initializer 왼쪽 패널에서 Spring Initializer를 선택 후 자신의 Java 버전을 선택합니다. 3. 설정 원하는 설정으로 해줍니다 Type은 저는 Gradle로 선택을 했습니다. 4. Dependencies 추가 프로젝트를 만들면서 의존성을 추가해줄 수 있는데 - Spring Web - Spring boot Devtools - Lombok - Thymeleaf - Spring Data JPA - H2 (사진에..
Best Match Like Like 절 검색 후 유사한 결과순으로 정렬하기 Item 테이블에서 바람막이를 검색한다고 했을 때 select name from item i where i.name like '%바람막이%'; 이런식으로 Like절을 활용하면 바람막이 가 포함된 결과가 나옵니다. 하지만 결과는 바람막이 검은색 바람막이 조금만 막는 바람막이 바람막이 흰색 바람막이가 포함된 단어가 무작위로 나옵니다. 아래와 같이 하면 좀 더 유사한 결과순으로 정렬을 할 수 있습니다. select name from item i where i.name like '%바람막이%' order by case when i.name = '바람막이' then 0 when i.name like '바람막이%' then 1 when i..
- Total
- Today
- Yesterday
- mapstruct
- 스프링부트 시작하기
- 자바
- 스프링
- FastAPI
- Java
- booleanExpression
- springsecurity
- JPA
- 유사결과
- spring web
- howtoinstallnginx
- springboot
- boot
- 웹서비스
- Spring
- 개발
- 스프링부트
- java11
- 스프링시큐리티
- ResourceHttpReqeustHandler
- @formula
- API
- paawordencoder
- Python
- Security
- ubuntu
- like절
- ControllerAdvice
- QueryDSL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |