본문 바로가기

JAVA

(52)
[JAVA] Object 값 List 여부 확인 Object 값이 List 인지 확인 하고 싶다. Object obj = new Object(); if( obj instanceof List){ }
[JAVA] Convert Object to Boolean. Object - Boolean 형변환 1. ((Boolean) Object).booleanValue(); 2. boolean bl = (Boolean) Object; 3. boolean bl = Boolean.valueOf(Object.toString())
[Spring] JAVA - formData 이용하여 여러 개의 Entity(값/객체) 전송/전달 하기 formData 로 file 뿐만 아니라 일반 Entity 객체도 여러개 전송 가능하다. 메인 Entity 에 List 로 담아서 전달하는게 편하긴 하지만 이 방법도 있다~ 하고 올려본다. Multipart/Form-data 로 객체 전송 / 전달 하기. 1. Front const Sample = async () => { const formData = new FormData(); formData.append( "info", new Blob([JSON.stringify(info)], { type: "application/json" }) ); if (list.length > 0) { list.forEach(() => formData.append( "list", new Blob([JSON.stringify(l..
[JPA] Spring JPA - deleteAll() vs deleteAllInBatch() vs @Query 사용 및 차이점 사실 실무에서는 DB 데이터 삭제는 잘 안 한다. 그래도 필요한 경우가 있긴 하다. 1. DeleteAll() /* * (non-Javadoc) * @see org.springframework.data.repository.Repository#deleteAll() */ @Override @Transactional public void deleteAll() { for (T element : findAll()) { delete(element); } } DB를 조회해서 1개씩 Delete 한다. 만약에 1000개의 데이터를 삭제해야 된다면 1000번 실행이 된다. 굉장히 비효휼적이고 낭비이다. DeleteAllInBatch() 를 사용하는 것을 추천한다. 2. DeleteAllInBatch() /* * (non..
[Spring Boot] Intellij Error - No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.2 was found. Intellij 에서 Project Build 시 해당 에러가 발생했다. A problem occurred configuring root project 'demo'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.2. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.0.2 > No matching variant of org.springframework.boot:spring-boot-gradle-p..
[Swagger] Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException" SwaggerConfig에 내용 추가 후 서버를 구동하니 해당 에러가 발생했다. Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException" Spring boot 2.6 이후에 spring.mvc.pathmatch.matching-strategy 값이 ant_apth_matcher 에서 path_pattern_parser로 변경되면서 몇몇 라이브러리에 오류가 발생한다고 한다. application.properties 에 추가해주면 된다. spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER yml(yaml) 일 경우 spr..
[Spring] Spring boot - application.yml 값 변수로 사용하기 application.yml common: count: 10000 1. application.yml 혹은 properties 에 지정한 값을 가져오려면 Class명 위에 @Service 혹은 @Component 등의 어노테이션을 설정 후, @Value("&{경로}") 를 지정해주면 된다. import org.springframework.beans.factory.annotation.Value; @Service class Test { @Value("${common.count}") private int count; } 2. 별도 Config Class 파일 생성하여 지정하기. ApplicationConfig.java @Data @Configuration @EnableConfigurationProperties ..
[JPA] Spring JPA - Executing an update/delete query Update , Delete 의 경우 Transaction 처리가 필요한데 해당 처리가 없어서 발생한 에러. Executing an update/delete query 해당 메소드에 @Transactional 어노테이션 추가. import org.springframework.transaction.annotation.Transactional; @Transactional public void getTest(String testId) { testQuery.getTest(testId); }
[Error] could not extract ResultSet swagger를 통해 query 조회 중 에러 발생. 결과값을 가져올 수 없다고 한다. 1. DB Table 또는 Column 존재 유무 확인 Table 또는 Column이 존재하지 않으면 발생 함. 2. Entity 확인 - DB와 일치 여부 entity의 Column명이 DB Table의 Column명과 일치하지 않으면 발생 함. 나같은 경우는 Column명이 틀려서 발생. 오타 수정 후 해결.
[Swagger] java.lang.NumberFormatException: For input string: "" java.lang.NumberFormatException: For input string: "" swagger2에서 던지는 에러에 대한 핸들링이 제대로 이루어지지 않아 발생하는 에러. swagger-models와 swagger-annotation를 downgrade 해야 함. Maven io.springfox springfox-swagger-ui 2.9.2 io.springfox springfox-swagger2 2.9.2 io.swagger swagger-annotations io.swagger swagger-models io.swagger swagger-annotations 1.5.21 io.swagger swagger-models 1.5.21 Gradle compile("io.springfox:sp..