반응형

 

Intelli J를 통해 Spring boot Gradle 빌드 방법

우측 Gradle 클릭

Tasks - build - bootJar 더블클릭

 

빌드가 완료되면 프로젝트 하위 폴더 build 가 생성되며, 

libs 폴더 안에 jar 파일이 생성되는 것이 확인 가능

 

반응형
반응형

 

spring-boot-devtools

여러가지 기능을 가지고 있지만 아래의 인텔리제이 설정은 Automatic Restart 부분에만 해당.

Automatic Restart : 개발 단계에서 자바 파일이 수정되는 경우 자동으로 어플리케이션을 재시작

 

아래의 사이트에 접속하여 원하는 버전을 추가합니다.

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools

 

- File -Settings

 

- Advenced Settings - Allow auto-make to start even if developed application is currently running 체크

 

- Build, Execution, Deployment - Compiler - Build project automatically 체크

 

반응형

'SPRING > Intelli J' 카테고리의 다른 글

[Intelli J]Spring boot Gradle Build  (0) 2024.03.21
[Intelli J] JAVA 버전 변경 및 Gradle JVM 변경  (0) 2024.03.20
반응형

- JAVA 버전 변경

File - Project Structure (Ctrl + Alt + Shift + S)

 - Project Settiings - Project - SDK 버전 선택 적용

 

- SDK 가 없는 경우 

 - Platform Settings - SDKs 추가

 

-Gradle JVM 변경

File - Settings (Ctrl + Alt + S)

 - Build Tools -  Gradle - Gradle JVM 변경 

(추가로 Build and run using & Run tests using 값을

Gradle(Default) 가 아닌 IntelliJ IDEA 로 바꾸면 실행 속도가 더 빠르다고함)

반응형

'SPRING > Intelli J' 카테고리의 다른 글

[Intelli J]Spring boot Gradle Build  (0) 2024.03.21
[Intelli J] 인텔리제이 Spring boot Devtools 적용  (0) 2024.03.20
반응형

WGS84GEO 좌표를 Google polyline format으로 encoding 하고 decoding 해야 할 일이 생겼다.

 

https://developers.google.com/maps/documentation/utilities/polylinealgorithm

 

Encoded Polyline Algorithm Format  |  Google Maps Platform  |  Google Developers

Points: (38.5, -120.2), (40.7, -120.95), (43.252, -126.453) 38.5 -120.2 3850000 -12020000 +3850000 -12020000 _p~iF ~ps|U _p~iF~ps|U 40.7 -120.95 4070000 -12095000 +220000 -75000 _ulL nnqC _ulLnnqC 43.252 -126.453 4325200 -12645300 +255200 -550300 _mqN vxq`

developers.google.com

위의 url을 통해 들어가 보면 google polyline format을 인코딩하고 디코딩하는 방법에 대한 설명이 나와있다.

직접 소스를 작성해서 2진수를 변환하고 여러가지 과정을 통해서 변환이 가능하다.

 

하지만 Maven 이나 Gradle 을 사용중이라면 간단한 방법이 있다.

 

Maven 을 사용중이라면 pom.xml 에 아래와 같이 넣어주면된다.

(글 작성 당시 버전은 1.0.1이 최신이었음)

<dependency>
    <groupId>com.google.maps</groupId>
    <artifactId>google-maps-services</artifactId>
    <version>1.0.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>1.7.5</version>
</dependency>

Java 소스 예제로는 아래와 같이 간단하게 사용이 가능하다.

package com.polyline.controller;

import java.util.ArrayList;
import java.util.List;

import com.google.maps.internal.PolylineEncoding;
import com.google.maps.model.LatLng;

public class PolylineTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		List<LatLng> coordList = new ArrayList<>();
		coordList.add(new LatLng(37.5655932,126.9884135));
		coordList.add(new LatLng(37.56530712,126.9884219));
		String encodeTxt =  PolylineEncoding.encode(coordList);
		
		System.out.println(encodeTxt);
	}

}

List에 좌표를 담아서 PolylineEncoding.encode 함수를 통해 google polyline format으로 변환된 것이 확인가능하다.

 

반대로 decode를 실행하고 싶은경우 PolylineEncoding.decode 함수를 사용하면된다.

decode 함수를 사용하면 encode 할 때 사용했던 List 형태로 반환이 된다. 

여기에서 decode 예제는 생략한다.

반응형
반응형

메이븐 사용시 아래와 같은 오류가 발생하는 경우가 있다.


An error occurred while filtering resources Maven Java EE Configuration Problem


이런 경우 해당 프로젝트 선택 - 마우스 오른쪽 버튼 클릭 - Maven - Update Project... 클릭


업데이트 후 에러가 사라지는 것이 확인 가능



반응형
반응형

전자정부프레임워크에서 mssql를 사용하려고 한다. 

(전자정부프레임워크는 기본적으로 mssql을 제외한 db접속을 사용)


여기서는 eGovFrame 3.5.1 버전이며, eGovFrame Web Project로 프로젝트를 생성하는 경우를 말한다.

프로젝트 생성시, Generate Example을 체크하고 생성한 경우를 얘기하며, sample 소스를 예로 한다.

(eGovFrame Template Project를 mssql로 사용하려면, 이미 생성되어있는 모든 sql을 바꿔줘야한다.)


첫번째로 maven을 사용하여, pom.xml에 jtds 라이브러리를 추가한다.

(버전의 변동은 없을듯 하니 그대로 사용해도 됩니다.)



그리고 pom.xml에서 commons-dbcp 부분이 주석처리 된것을 해제한다.

만약에 없을 경우 아래에 있는 내용을 그대로 추가 하면된다.



두번째로 context-datasource.xml 파일에 mssql 연결 설정을 추가합니다.

(src/main/resources/egovframework/spring/context-datasource.xml)

기본적으로 hsql 설정으로 되어있는데 그부분은 주석처리하고 자신의 계정에 맞게 mssql 설정을 추가합니다.



(참고로, src/main/resources/db/ 경로 아래에 sampledb.sql 문이 존재하여, mssql에 사용하기위해 변경이 조금 필요하다.

 아마 sql문을 보면 금방 고칠 수 있을 것이다. )


위로써 설정은 끝났으며, 실제 mssql 쿼리를 수정하면된다.


전자정부 프레임워크는 기본적으로 ibatis를 사용하며, 여기서는 src/main/resources/egovframework/sqlmap/example/sample/ 경로 아래에

EgovSample_Smaple_SQL.xml 파일 입니다.


다른 부분은 변경할 부분이 없으나, mssql에서는 limit를 사용하지 못하기 때문에 

sampleDAO.selectSampleList 부분만 수정이 필요합니다.




수정을 완료한 후 서버를 실행하여 보면, mssql이 연동된 게시판이 실행 됩니다.


반응형
반응형

spring에서 mssql을 연동하여, mybatis로 쿼리를 사용하는데 다음과 같은 에러가 발생했다.


mybatis Incorrect syntax near '@P0'.


쿼리문을 확인해도 @P0 가 들어간 부분으 없었고, 검색해서 찾은결과


mssql 에서 TOP 을 사용할때 괄호 '( )' 를 사용하지 않아서 발생하는 문제였다.

(실제 mssql에서 쿼리를 실행 할 때는 괄호를 사용하지 않는다.)


http://stackoverflow.com/questions/7038818/ms-sql-exception-incorrect-syntax-near-p0


(추가로 @P0 에서 숫자 0은 위치를 나타내는 것 같으며, 위치에 따라 0부터 1씩 증가 할 것으로 예상)

반응형
반응형

전자정부프레임워크에서 mybatis를 사용하려고 한다. (전자정부프레임워크는 기본적으로 iBatis 사용)


여기서는 eGovFrame 3.5.1 버전이며, eGovFrame Web Project로 프로젝트를 생성하는 경우를 말한다.

프로젝트 생성시, Generate Example을 체크하고 생성한 경우를 얘기하며, sample 소스를 예로 한다.

(eGovFrame Template Project를 mybatis로 사용하려면, 설정부터 모든 sql을 바꿔줘야한다.)


src/main/resources/egovframework/spring/ 경로의 아래에 보면 mybatis 설정과  ibatis 설정이 모두 들어있다.

(pom.xml에 mybatis를 추가 할 필요가 없다.)


context-sqlMap.xml 파일이 ibatis 설정이며,

context-mapper.xml 파일이 mybatis 설정이다.


 eGovFrame Web Project로 프로젝트를 생성, 서버를 실행시키면 ibatis 설정으로 작동하는 것을 알 수 있다. 


전자정부프레임 워크는 EgovAbstractDAO 클래스와 EgovAbstractMapper가 존재하는데,

EgovAbstractDAO 가 ibatis 설정이며, EgovAbstractMapper가 mybatis 설정이다.


쿼리를 실행하기 위한 SampleDAO 파일을 열어보면, EgovAbstractDAO 을 상속 받는 것을 알수있다.

이 부분을 EgovAbstractMapper으로 변경하여 상속받으면, mybatis 설정으로 작동을 하게 된다.


ibatis 설정


mybatis 설정


상속받는 클래스를 변경 하면, 에러가 발생하는데 이것은 당연히 ibatis 문법이기 때문이다.

에러나는 부분을 mybatis에 맞게 수정을 하고 실행을 해 보면 에러 없이, mybatis로 작동하는 것을 확인 할 수있다.


예를 들어 SampleDAO 에 selectSampleListTotCnt 부분은 아래와 같이 변경하면 된다.


위는 ibatis 아래는 mybatis 입니다.





이제부터는 자신의 소스에 맞게 작업을 하면 된다.



반응형

'SPRING > egovframework' 카테고리의 다른 글

전자정부프레임워크 mssql 연동  (3) 2017.01.31
반응형
간단하게 스프링에서 파일을 업로드 하는 방법입니다. 

1. pom.xml 추가
첫번째로 pom.xml 에 아래와 같이 depency를 추가한다. 
(따로 최신 버전을 찾지 않아도 상관없을듯 합니다.)

 


2. servlet-context.xml 추가
두번째로 servlet-context.xml 에 아래와 같이 baen을 추가합니다.
( 아래의 'beans:bean' 이런식으로 있는 부분은 자신의 파일에 맞게 수정하시면됩니다. )



3. jsp 파일 폼 추가

아래와 같이 간단한 jsp 파일을 작성합니다.


스프링 폼 태그를 사용 했으며, 폼태그에 enctype="multipart/form-data" 을 꼭 넣어야 파일 전송이 가능합니다.




4. Controller 파일 업로드

마지막으로 jsp에서 전송된 파일을 받아 controller에서 파일 업로드를 합니다. 

소스상으로 간단하며, @RequestParam("uploadFile") MultipartFile file 이부분이 jsp에서 받은 파일을 담는 변수입니다.

file.getOriginalFilename()으로 해당 파일의 이름으로 지정된 경로로 파일을 업로드 합니다. 

(실제 파일을 저장할때는 원본 파일명과 다른 유니크한 이름으로 변경하여 파일을 저장한다.)




해당 예제에서는 단순하게 파일을 업로드 하기만 하지만, 파일 업로드시 파일에 정보를 DB에 넣기도 해야하니 FileVO를 하나 생성하고(Map사용 무관),

Controller에서 파일 명을 받아온 방식으로 file.get** 으로 필요한 정보로 가공하여 저장하면됩니다. 

(여기서는 DB에 넣는 Service, dao.. 부분은 생략합니다.)


반응형
반응형

스프링 mvc 구조에서 Ajax 통신으로 json을 return 하는 방법입니다. 

스프링에서 json으로 return 받는 방식은 여러가지 방법이 있으며,

이글에서는 jackson 을 사용하고, @ResponseBody 어노테이션을 사용하는 방식입니다.


첫번째 메이븐을 통해 jackson 을 다운 받습니다. 

pom.xml에 아래와 같이 추가합니다.



(글을 쓰는 당시 위의 버전이 최신이었음.)


두번째로 Ajax 통신을 위한 Controller를 작성합니다. 

아래의 예제는 '/admin/push/version' 의 url에 'pushTarget' 값을 전송하여 'VersionVO' 라는 vo 리스트를 담아 전송하는 소스입니다.

간단하게 설명하면, 원하는 결과를 조회하여 json으로 return 하는 부분입니다.

다음에 나오는 Ajax 부분을 보면 좀더 이해하기 쉬을 것 입니다. 



여기서 중요한 것은 반환형의 앞에 @ResponseBody 라는 어노테이션을 사용한 것입니다.

@ResponseBody을 사용하여 return 결과를 json으로 만드는 것.


마지막으로 Ajax 통신을 하는 자바스크립트 부분입니다.

위에서 작성한 url 경로를 통해 ajax 통신을 하고 json으로 return을 받은 후 결과를 가지고 처리 합니다. 



위의 자바스크립트 부분만을 설명하자면 pushTarget을 선택하는 선택한 값을 전송해 

결과 값을 받아 pushVersion이라는 selector의 option 값을 바꿔주는 소스이다.



소스의 일부분만 가져온 것이므로, 

json으로 return 받기위한 방법만을 참조하면된다.

반응형

+ Recent posts