⚠️ IntelliJ 를 사용하고 있습니다
1. Build.gradle 의존성 추가
2. Python Interpreter 설정 추가
3. 작동 확인
· Jython 이란 Python 의 Java 버전으로, Java 언어로만 쓰여졌기 때문에 모든 Java 가상 머신에서 작동한다
The Jython project provides implementations of Python in Java, providing to Python the benefits of running on the JVM and access to classes written in Java.
1. Bulid.gradle 에 의존성 추가하기
dependencies {
// Jython
implementation 'org.python:jython-slim:2.7.4rc1'
}
이후 gradle build 를 다시 해주시면 적용됩니다
2. IntelliJ 에 Python Interpreter 설정하기
3. 확인하기
· test.py
def testFunc(a,b):
print("TEST FUNC")
c = a + b
return c
· test.java
@RestController
@RequiredArgsConstructor
public class test {
private static PythonInterpreter intPre;
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String getTest() {
// python 함수로 확인
intPre = new PythonInterpreter();
intPre.execfile("src/main/java/BabAl/BabalServer/test.py"); // test.py 경로
intPre.exec("print(testFunc(5,10))");
// web 으로 확인
PyFunction pyFuntion = (PyFunction) intPre.get("testFunc", PyFunction.class);
int a = 10, b = 20;
PyObject pyobj = pyFuntion.__call__(new PyInteger(a), new PyInteger(b));
System.out.println(pyobj.toString());
return pyobj.toString();
}
}
📜 참고문서 📜
· 의존성 추가
https://aram-su.tistory.com/16
· Python Interpreter 설정
https://ddururiiiiiii.tistory.com/351
· 테스트 코드
https://binshuuuu.tistory.com/289
'Spring > [P] AI 기반 사용자 맞춤형 메뉴와 맛집 추천' 카테고리의 다른 글
[Springboot] 식사 통계 조회 개발하기 (0) | 2024.09.04 |
---|---|
[Springboot] 식사 통계 조회 설계하기 (0) | 2024.09.03 |
[Springboot] 식사 기록 등록 개발하기 - entity, enums (6) | 2024.09.02 |
[Springboot] 식사 기록 등록 개발하기 - controller, service, dto (0) | 2024.08.30 |
[Springboot] 식사 기록 등록 설계하기 (0) | 2024.08.29 |