2010-11-06 2 views
2

Я понимаю, что на самом деле это не так, как предполагалось использовать Roo, но я должен был сбить с собой ручную демонстрацию с руоном для запуска в консольном приложении.Базовая консольная программа с Spring 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. Является ли это скрытым в чем-то другом, или я просто делаю что-то неправильно?

Я просто не могу этого сделать или есть другой способ сделать это. Это все для демонстрации на свои босс, чтобы показать преимущества Его, но не может получить мою голову вокруг этого бита

ответ

1

После контекста загружается, это очень просто

Equation eq = new Equation(); 
eq.setFirstNum(2); 
eq.setSecondNum(2); 
// and so on 
eq.persist(); 

Если вы необходимо удалить неправильную запись, которую вы должны использовать

eq.remove();