본문 바로가기

반응형
SMALL

Server

(26)
[우당탕탕 개발일지] JPA Repository 오류, Not a managed type: class java.lang.Object java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@31aa9 b01 testClass = com.example.springbootpart4.domain.order.OrderRepositoryTest, locations = [], classes = [com .example.springbootpart4.SpringBootPart4Application], contextInitializerClasses = [], activeProfiles = [], proper tySourceLocations = [], propertySourceProperties = ["org.springfram..
[TIL] 영속성 컨텍스트 (Persistence Context) 오늘 강의에서는 영속성 컨텍스트의 개념과 구조, 기능들을 배울 수 있었다. 구조를 이해한 후, 기능에 대한 설명을 들으니 DB에 어떻게 접근하고 데이터를 어떻게 가져오는지 더 잘 알 수 있어서 좋았다. 먼저, Entity와 EntityManager에 대해 알 수 있었다. 지난 시간에 Bean으로 등록하면서 사용한 몇 패키지들을 몰라서 찾아 공부하면서도 모르는 부분이 모호하게 남아있었는데, 오늘 강의에서 정확히 알고 넘어갈 수 있어서 좋았다. Entity: RDB의 테이블과 매핑되는 객체 EntityManagerFactory: EntityManager을 생산하는 공장으로, Thread safe 해서 여러 Bean이 접근해도 안전하다. EntityManager: CRUD와 같은 모든 트랜잭션을 처리하고, T..
[우당탕탕 개발일지] @RequestParam, 쿼리 값 선택적으로 받아오기 쿼리 값을 받아오려고 @RequestParam 을 썼다. 하지만 값이 들어오지 않으면 무조건 400 에러를 뱉었다. null 처리도 했는데 왜 ??!? 찾아보니까, @RequestParam 은 기본적으로 required=true로 되어 있다고 한다. 그 말은? 쿼리 값을 무조건 받아와야 하는 것 ~.~ 그래서 @RequestParam(value="{칼럼명}", required=false) 로 바꿔주니까 쿼리 값을 선택적으로 받아 올 수 있었다. 야호! @GetMapping("/api/v1/books") public List getAllBooks(@RequestParam(value = "status", required = false) String status) { if (StringUtils.isEmpty..
[우당탕탕 개발일지] String to LocalDateTime String으로 받아 온 날짜를 LocalDateTime으로 변환 시켜 사용해야했다. 그런데 어떻게 ..? 찾아보니까 LocalDateTime으로 변환시키려면 Formatting을 따로 만들어야 하고 시간도 입력값으로 넘겨줘야 했다. (오마이갓) 그래서, 1. String -> LocalDate 2. LocalDate -> LocalDateTime 위와 같은 과정을 거쳤다. 먼저 String에서 LocalDate로 타입을 변환시키는 것은 간단했다. 예를 들어, "2022-11-26" 이라는 문자열이 있으면, LocalDate date = LocalDate.parse("2022-11-26", DateTimeFormatter.ISO_DATE); 위와 같은 방법으로 LocalDate 타입으로 변환 시킬 수 있..
[우당탕탕 개발일지] HTML : href, delete method Thymeleaf의 href html의 href를 통해서 "voucher/{voucherId}" url로 매핑시키고 싶었다. 그러기 위해선 th:href="@{..}" 형식으로 매핑시켜야 하고, voucherId 값을 가져오기 위해서는 "*{voucherId}" 형식이 필요했는데, 그래서 th:href="@{voucher/*{voucherId}}"로 써냈더니 무슨 이상한 ... voucher/*alkdjalkdfj 과 같이 *이 붙어서 나오는 것 ㅠㅠㅠ 딱!! voucherId 값만 대입하고 싶어서 찾아봤다! th:href="@{${'/voucher/'+voucher.voucherId}}" 형식으로 해결했다 :D 값을 대입하고 싶으면 "@{${'[문자열]'+[값]}}" 형식으로 쓰자 ,,, 끄적,,, R..
[우당탕탕 개발일지] 스프링 테스트용 스키마 및 테이블 추가 클론코딩을 하다가 테스트 테이블이 생성되지 않는 현상이 발생했다. 암만 계속 돌려도 테이블이 생성이 안됐다. embeddedMysql = EmbeddedMysql.anEmbeddedMysql(config) .addSchema("test-order_mgmt", ScriptResolver.classPathScripts("schema.sql")) .start(); embeddedMysql = EmbeddedMysql.anEmbeddedMysql(config) .addSchema("test-order_mgmt", ScriptResolver.classPathScript("schema.sql")) .start(); 차이점을 아시겠나요? 메소드를 잘못 썼다. classPathScript를 classPathScript..
[우당탕탕 개발일지] 절대 URI인 [http://java.sun.com/jsp/jstl/core]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다. 제목과 같은 오류가 발생했다. 비상 비상!! 강의를 재탕도 해보고, 강의 자료 소스코드를 고대로 갖다 박아도 저 에러는 사라지지 않았다 ㅠㅠ 그래서 구글링을 해보니 jsp 문제였다. 위 태그가 있는데, WEB-INF/lib 에는 해당 .jar 가 없어서였다. ㅎㅎㅎㅎ ... 근데 jstl 의존성을 추가하고 maven으로 돌렸는데도 왜 jar 추가가 되지 않았을까 ..? javax.servlet jstl 1.2 있으나마나잖아,,, ㅋㅋㅋㅋㅋ큐ㅠㅠㅠㅠㅠㅠ 아무튼 그래서 여러 구글링 끝에 해결방법을 찾아냈다. 1. 해당 .jar가 없다. 2-1. 위 태그 한 줄을 뺀다. 2-2. 해당 .jar을 WEB-INF/lib 에 수동으로 갖다 넣는다. 말 그대로, http://java.sun.com/jsp/jstl/c..
[우당탕탕 개발 일지] MySQL, JDBC 연결 아아아... "No suitable driver found for 어쩌고,, " 오류가 떠버렸다 ㅇㅁㅇ !! 오늘! 인텔리제이에서 MySQL 로 JDBC 연결해서 사용하는 법을 배웠는데 ~.~ 과제 하자마자 바로 막혀버렸다. 하하하. 조금 낑낑대다가 원인을 찾았다. 왜냐면 pom.xml 파일에 의존성을 추가하지 않았기 때문이지 ㅋㅅㅋㅅㅋ mysql mysql-connector-java 8.0.31 runtime .. 잊지 말고 넣어주자 다행히 오늘은 짧은 삽질 >_0

반응형
LIST