2011-12-25 12 views
12

Stavo guardando il linguaggio delle espressioni primaverili e mi sembra molto utile se si sta utilizzando per i file di configurazione xml. Tuttavia, la documentazione di riferimento forniscono molti esempi che utilizzano il seguente codice qui sotto:Quali sono alcuni usi validi per spEL (Spring Expression Language)?

ExpressionParser parser = new SpelExpressionParser(); 

String name = parser.parseExpression 

Quando e perché dovrei fare uso di questo come posso fare tutto questo utilizzando Java regolare. Mi mancano alcune funzionalità o altri usi in cui SpelExpressionParser potrebbe essere utile? Esistono altri casi d'uso per spEL di cui non sono a conoscenza?

risposta

10

È possibile utilizzare SpEL come alternativa semplificata alla riflessione Java. Riduce molto codice per te.
Uno dei casi d'uso, che ho avuto al mio lavoro è quello di appiattire un grafico oggetto profondo a una coppia nome-valore per scopi di indicizzazione e ricerca.

Il grafico dell'oggetto può essere esteso dai nostri clienti, nel qual caso anche le proprietà aggiuntive devono essere indicizzate. Usando SpEL, i clienti devono solo scrivere espressioni in alcuni file di proprietà e il codice framework si occupa di estrarre i nuovi dati.

Tutti gli use-cases of Java reflection sono anche potenziali casi d'uso per Spel con maggiore semplicità e codice ridotto.

+0

grazie per l'esempio. – user373201

2

Al fine di valutare le espressioni di runtime arbitrarie in Java avresti bisogno di utilizzare il framework di compilazione, creare una classe, compilarlo, caricarlo, legano, eseguirlo, ...

linguaggi espressivi e/o lo scripting elimina un sacco di lavoro aggiuntivo non direttamente correlato al problema che stai cercando di risolvere. Quale EL ha più senso usare dipende da diversi fattori.

Problemi correlati