오늘은 Spring에서 API를 사용하지 않고 Google OTP QR코드 자체 생성하는 소스를포스팅 하려고 합니다. 기존에 사용하던 프로젝트 소스에서 Google OTP QR코드를 google API를 통해 생성하고관리 및 인증은 소스와 DB에서 진행을 했는데 얼마전 google API에서 OTP QR코드 생성 API를 지원 종료 했습니다.해당 API 주소는 다음과 같습니다.(https://chart.googleapis.com/)(https://chart.apis.google.com/) 2개의 주소 모두 사용 가능한 API 규격이였는데 현재는 다음과 같이 API 페이지가 404로 나옵니다. 현재 프로젝트에서 소스를 많이 변경하지 않고 google OTP QR코드만 생성하여관리 및 인증부분은 소스 변..
Develope/Spring
오늘은 Spring JpaRepository where에 List 사용 방법에 대해 포스팅하려고 합니다. Spring JpaRepository에서 where 조건에 List를 사용하는 경우는 일반적으로 IN절과 NOT IN절이 있습니다. 해당 부분을 사용하기 위해서는 @Query 어노테이션과 nativeQuery를 활용해야합니다. nativeQuery는 기존의 SQL문을 사용할수 있도록 지원하는 @Query 어노테이션의 속성입니다. 다음과 같이 예제를 만들어봤습니다. 1. IN 절 @Query(value=" SELECT * FROM user" + " where age in :ageList", nativeQuery = true) List findByUserInList(@Param("ageList") Lis..
오늘은 Spring에서 엑셀(Excel) 파일 업로드에 대해 포스팅 하려고 합니다. 먼저 pom.xml에 poi 라이브러리를 사용하기 위해 dependency를 등록합니다. // pom.xml org.apache.poi poi 3.12 org.apache.poi poi-ooxml 3.12 org.apache.poi poi-ooxml-schemas 3.12 org.apache.poi poi-scratchpad 3.12 org.apache.poi ooxml-schemas 1.1 org.apache.poi poi-excelant 3.12 org.apache.poi poi-contrib 3.6 org.apache.poi ooxml-security 1.0 그리고 엑셀(Excel) 업로드를 사용하기 위한 비즈니스 ..
오늘은 Spring에서 Ajax로 배열 및 리스트로 값을 넘기는 방법에 대해 포스팅 하려고 합니다. 먼저 ajax를 작성합니다. 형태는 json 데이터 타입으로 하고, 배열 및 리스트로 넘기기 위해서 속성중에 traditional : true 을 선언해야 합니다. // ajax 소스 var allData = {"user_id_arr" : user_id, "user_name_arr" : user_name, "expire_arr" : expire, "deptname_arr" : deptname, "phone_arr" : phone, "email_arr" : email, "desc_arr" : desc, "office_code_arr" : office_code, "infra_seq" : '${infraSeq}..
오늘은 SpringBoot jdbc 설정에 대해 포스팅 하려고 합니다. SpringBoot에서 jdbc를 설정하는 방법들은 많이 있습니다. 오늘은 그 방법들중에 하나이며, 2개 이상의 DB연결이 필요할 경우에도 다중 jdbc를 연동하는데 있어서 편리한 방법을 사용했습니다. 본 포스팅에서는 mysql DB를 사용하여 진행하겠습니다. 물론 mysql 이외의 oracle, postgresql, tibero등의 jdbc 설정들 또한 동일하게 가능 합니다. 1. Spring 또는 SpringBoot에서 mysql을 사용하기 위해 pom.xml에 라이브러리를 추가합니다. // pom.xml mysql mysql-connector-java 6.0.5 2. jdbc driver 연결을 하기 위한 설정을 진행합니다. /..
Spring에서 Request요청에 따른 Response의 Content-Type을 변경할 수 있습니다. 결과값만 호출하여 사용하는 것이라면 크게 상관이 없을 수 있겠지만, API용도로 사용하던지, 결과 데이터를 무언가에 사용한다고 할때 Content-Type의 값이 중요할 수 있습니다. @RequestMapping안에 produces="application/json;"를 추가할 경우 아래 소스와 같이 Request를 받고 result라는 값을 return한다고 가정 했을때 "API result"라는 결과값은 json형태로 response하게 됩니다. @RequestMapping(value = "/userConnIP.data", method = RequestMethod.GET, produces="appl..
SpringBoot의 application.properties, application.yml 다양한 특성을 지정할 수 있습니다 . 아래 링크는 Spring Boot의 config설정에 대한 부록으로 유용한 정보들이 많이 있습니다. class또는 bean에서 추가로 설정하지 않아도 간단하게 사용할 수 있는 것들이 많이 있기 때문에 한번씩 사용해보면 좋을 것 같습니다. https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/PropertySource.html PropertySource (Spring Framework 5.1.7.RELEASE API) Annotation providing a con..
SpringBoot에서 @PropertySource 어노테이션을 이용하여 application.properties, config.properties와 같은 설정 파일들의 지정된 값들을 소스상에 읽어올 수 있습니다. @PropertySource의 괄호안에 설정값의 경로와 properties 명을 입력합니다. @SpringBootApplication @PropertySource("application.properties") public class testPropertiesApplication{ } application.properties의 값들을 확인합니다. #Postgresql Config spring.datasource.url=jdbc:postgresql://localhost:5432/testDB spr..