2010-11-06 8 views
2

Je comprends que ce n'était pas vraiment la façon dont Roo était destiné à être utilisé, mais je devais lancer une démo rapide avec Roo pour l'exécuter dans une application de console.App console de base avec Spring Roo

J'ai créé une application de base avec le script Roo suivant:

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 

Ensuite, je veux ajouter une console de base en ajoutant la classe suivante

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"); 
    } 
} 

Mon plan était de passer firstNum , operator et secondNum, ajoutez-les à la base de données, puis calculez la réponse, ajoutez-la à la base de données, puis affichez la réponse. Si la réponse n'a pas pu être calculée (avec diviser par 0 par exemple), retournez la transaction.

Cela devrait être assez simple, et Im devinant que c'est, cependant, je ne peux pas savoir comment accéder à la sessionFactory. Est-ce implicite dans quelque chose d'autre, ou est-ce que je fais juste quelque chose de mal? Je ne suis simplement pas capable de faire cela, ou y a-t-il un autre moyen de le faire. Tout cela est pour une démo de mes patrons pour montrer les avantages de Roo, mais ne peut pas sembler obtenir ma tête autour de ce bit

Répondre

1

Après contexte est chargé, il est très simplement

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

Si vous besoin de supprimer une mauvaise entrée, vous devez utiliser

eq.remove(); 
Questions connexes