Я понимаю, что на самом деле это не то, как предполагалось использовать Roo, но я должен был создать быструю демонстрацию с Roo для запуска в консольном приложении.
Я создал базовое приложение со следующим Roo Script:
project --topLevelPackage com.xetius.maths
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
entity --class ~.domain.Equation --testAutomatically
field number --fieldName firstNum --type java.lang.Integer --notNull
field number --fieldName secondNum --type java.lang.Integer --notNull
field string --fieldName operator --notNull
field number --fieldName answer --type java.lang.Integer
Далее я хочу добавить базовую консоль, добавив следующий класс
package com.xetius.maths;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MathMain {
public static void main(String[] args) {
ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext.xml");
System.out.println("Here");
}
}
Мой план состоял в том, чтобы передать firstNum, operator и secondNum, добавить их в БД, затем вычислить ответ, добавить его в БД, а затем отобразить ответ. Если ответ не удалось вычислить (например, с делением на 0), откатите транзакцию.
Это должно быть довольно просто, и я предполагаю, что это так, однако я не могу понять, как получить доступ к sessionFactory. Это подразумевается в чем-то другом, или я просто делаю что-то не так?
Я просто не могу это сделать, или есть другой способ сделать это. Это все для демонстрации моим боссам, чтобы показать преимущества Roo, но, похоже, я не могу понять это.