반응형

Spring Boot에서 JS(Javascript) 사용?

자바에서 제공하는 API인 Java Scripting API를 통해서, 자바에서 자바스크립트 함수 호출이 가능하다.

js 파일 및 설정

js를 사용하기 위해선, 우선 해당 스크립트가 적용된 js파일을 적용할 필요가 있다.
resources 하단에 사용할 js 파일을 정리하여 resources/js/aes.js 와 비슷한 형태로 적용하면 된다.
해당 부분은 css, image 파일 또한 동일하게 적용 가능하다.

 

application.yml 설정

local.yml
prod.yml

js 파일을 설치하여, 적용하였으면 해당 부분의 경로를 불러오기 위해 설정을 진행하여야 하는데

local, dev, prod 각 설정에 맞게 절대 경로를 지정하여 사용하면 된다. (build 이후 경로의 차이가 존재)

 

Java Scripting API 사용

JavaScripting API의 ScriptEngine을 통해 스크립트 엔진을 호출하여 aes.js 자바 스크립트 파일을 불러오는 소스이다.
간략하게 decrypt 함수를 호출하는 방식으로, JavaScripting의 인터페이스를 활용하여 작업이 가능하다.

// 스크립트 엔진 호출
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine se = sem.getEngineByName("JavaScript");

// js 파일 호출
URL resourceUrl = this.getClass().getClassLoader().getResource("js/aes.js");
String fileLocation = resourceUrl.getFile();

// evel 메소드를 사용하여 컴파일
try {
	se.eval(new FileReader(fileLocation));
} catch (FileNotFoundException | ScriptException e) {
	e.printStackTrace();
}

String aesKey = "test";
String ob = null;
// 자바스크립트의 함수를 실행하게 해주는 Invocable
Invocable inv = (Invocable) se;

// invokeFunction을 통한 특정 함수 호출
try {
	ob = (String) inv.invokeFunction("decrypt", input, aesKey, 256);
} catch (NoSuchMethodException | ScriptException e) {
	e.printStackTrace();
}

 

반응형

'개발새발 > Spring Boot' 카테고리의 다른 글

Lombok 설치 및 STS 연동  (0) 2021.05.22
Spring Boot 프로젝트 설정 방법  (0) 2021.05.19
반응형

Spring Boot란?

 

기존 스프링 프레임워크 프로젝트들의 복잡한 설정 및 라이브러리 버전 등의 문제를 완화하여, 간단하게 프로젝트를 생성할 수 있는 라이브러리이다.

기본적으로 사용자가 자주 설정하는 기본 설정들을 포함하고 있으며, 기존 web.xml, ServletContext.xml, rootContext.xml 설정 등을 기존처럼 복잡하지 않게 설정 가능하다.

 

Spring Boot 프로젝트 시작

 

 

IDE(개발 툴 - Spring Tools)를 사용하는데, Spring Starter Project를 눌러 새 프로젝트를 생성할 수 있다.

 

 

Name, Type, Packaging, Java Version, Group, Package 등을 설정하고, Next를 눌러 다음 작업으로 넘어갈 수 있다.

  • Name : 프로젝트 명
  • Type : Maven / Gradle 등 라이브러리 관리 도구
  • Packaging : Jar / War
  • Java Version : Project에서 사용할 자바 버전
  • Group : GroupId 자신의 프로젝트를 식별해주는 고유 아이디
  • Artifact : ArtifactId 버전 정보를 생략한 이름으로, 보통 프로젝트 명과 동일

 

프로젝트의 기본 개요를 설정 이후, Spring Starter project Dependencies에서는 pom.xml에서 설정할 의존성 항목 중 자주 쓰는 항목들을 미리 선택하여 설정할 수 있다.

(프로젝트 생성 시에 생략하고 이후 pom.xml에서 직접 추가하여도 차이가 없다.)

각자 개발 환경 및 설정에 맞춰서 해당 의존성은 추가 및 제거가 가능하다.

  • Spring Boot DevTools : 개발의 편의를 위한 도구 지원 (Property 캐싱 설정, 자동 재시작, LiveReload 등)
  • Lombok : Getter/Setter, ToString의 메서드를 자동으로 만들어주는 라이브러리
  • MyBatis Framework : 프로그램 코드와 SQL을 분리하여, 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 프레임워크
  • MariaDB Driver : DB 연결을 위한 드라이버 (MariaDB)
  • Spring Web : Spring MVC를 사용한 RESTful 서비스를 개발

Finish를 클릭하여, 마무리하면 자동적으로 Build가 이루어지며 프로젝트가 생성된다.

반응형

'개발새발 > Spring Boot' 카테고리의 다른 글

Spring Boot에서 JS 사용 및 설정  (0) 2022.09.23
Lombok 설치 및 STS 연동  (0) 2021.05.22

+ Recent posts