일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 슬리드
- gradle관계
- localhost:8082
- isequalto
- h2:~/test
- 의존트리
- maven
- 소스트리
- assertThat
- H2
- 의존성관계
- 로컬브랜치삭제
- test not found
- assertion
- in-memory
- gradle
- 의존관계
- REST API
- 인텔리제이키맵 #이클립스키맵 #이클립스단축키
- gradle의존관계
- RESTful
- Today
- Total
목록분류 전체보기 (28)
봄날의 로그

start.spring.io/ 에서 프로젝트를 생성하였다.h2 데이터베이스 버전은 스프링 부트 버전에 맞춰야 한다. https://www.h2database.com/에서 어떤 버전을 다운 받아야 할까? spring.io/상단 Projects > Spring Boot > LEARN 탭내가 생성한 프로젝트 버전의 Reference Doc 클릭 Dependency Version > h2 검색'Spring Boot 3.4.1 릴리즈는 h2 데이터베이스에 대하여2.3.232 버전을 쓰도록 셋팅 되어있다'를 확인 할 수 있다. 프로젝트 build.gradle > dependenciesh2가 명시되어 있지만 버전은 쓰여있지 않다. 프로젝트 gradle 항목에서 h2를 검색하면 버전이 명시되어 있다. C:\Pro..

./gradlew dependencies --configuration compileClasspath

MySQL의 기본 인증 플러그인은 mysql_native_password였는데8.0 이후로 caching_sha2_password로 바뀐 듯 하다. 방법은 cashing_sha2_password로 되어있는 인증 방식을 이전의 mysql_native_password로 바꾸면 된다. MySQL 컨테이너에 접속docker exec -it coupon-mysql mysql -u root -p 인증방식 확인SELECT user, host, plugin FROM mysql.user; caching_sha2_password 으로 설정되어 있는 것을 확인 할 수 있다.그리고 yml 파일에 설정해 놓은 user 계정이 없는것도 확인 하였다. 인증방식만 변경할 경우ALTER USER 'root'@'%' IDENTIF..

H2 설치 후 연결하면 , Database "C:/Users/joora/test" not found 오류가 보임 해당 오류를 서치한 결과, 영한님이 아래와 같이 답변 주신걸 찾았다. http://localhost:8082 으로 들어가신 다음에아래 이미지 처럼 JDBC URL 부분에 다음 처럼 적고jdbc:h2:~/test딱 한번만 연결해주세요. 그러면 데이터베이스가 자동으로 생성됩니다.(권한 문제 때문에 tcp로 접근하면, 데이터베이스가 없는 경우 자동 생성하지 않습니다.)그리고 연결이 되고나면 그 다음부터는 jdbc:h2:tcp://localhost/~/test 로 접속하시면 됩니다. http://localhost:8082 로 접속 한 뒤jdbc:h2:~/test 로 연결 딱 한번 해준 후URL ..
먼저, @RequestParam 와 @RequestBody 의 차이 GET 요청은 HTTP query parameter에서 데이터를 가져올때 @RequestParam POST 요청은 HTTP body에서 데이터를 가져올때 @RequestParam @RequestBody 사용을 알아보자 HTTP 요청 본문에 담긴 JSON이나 XML과 같은 데이터를 Java 객체로 변환하기 위해서는 @RequestBody 반드시 필요 @PostMapping("/api/v2/members")public CreateMemberResponse saveMemberV2(@RequestBody @Valid CreateMemberRequest request) {-> RequestBody(HTTP 요청 본문의 JSON 데이터)를 Cre..
@Valid 자바 객체에 대한 검증(Validation)을 수행한다.컨트롤러에서 입력 데이터를 처리하기 전에 검증이 필요할 때(주로 DTO나 입력 데이터) 주로 사용된다. @PostMapping("/user")public ResponseEntity createUser(@Valid @RequestBody User user, BindingResult result) { if (result.hasErrors()) { return ResponseEntity.badRequest().body(result.getFieldError().getDefaultMessage()); } return ResponseEntity.ok("User is valid");}{ "error": "Name mus..

스프링 부트는 datasource 설정이 없으면, 기본적을 메모리 DB를 사용한다.

테스트는 케이스 격리된 환경에서 실행하고, 끝나면 데이터를 초기화하는 것이 좋다.그런 면에서 메모리 DB를 사용하는 것이 가장 이상적이다. 추가로 테스트 케이스를 위한 스프링 환경과,일반적으로 애플리케이션을 실행하는 환경은 보통 다르므로설정 파일을 다르게 사용하자. test 폴더 아래resources 디렉토리 생성 해주고application.yml을 생성해주자 h2database.com으로 접속 > Cheat Sheet 클릭 In-Memory 아래 빨간블럭 부분 복사 소스로 돌아와서test > resources > application.yml spring:datasource:url: 부분에 복사한 내용을 붙여준다. 기존 DB 연결을 끊고, 테스트코드를 다시 실행.로그에서 p6spy를 검색해 주면 I..

Spring Boot 테스트에서 애플리케이션 컨텍스트를 사용하면, 애플리케이션이 실행되는 것처럼 환경을 구성할 수 있습니다. --> @SpringBootTest로 애플리케이션 컨텍스트를 로드 Spring Boot의 애플리케이션 컨텍스트는 다음과 같은 역할을 수행합니다:빈 관리: 객체 생성, 초기화, 소멸.의존성 주입: 애플리케이션 구성 요소 간의 관계를 자동으로 설정.설정 및 리소스 관리: 설정 파일 및 리소스 로드.확장성: 이벤트, AOP, 국제화 등 다양한 기능 지원. @SpringBootTest와 @ExtendWith(SpringExtension.class)를 함께 사용하는 이유@SpringBootTest:통합 테스트를 위해 Spring Boot의 애플리케이션 컨텍스트를 로드합니다.@ExtendW..