2011-12-25 20 views
12

estaba mirando lenguaje de expresión de primavera y parece muy útil si se está utilizando para los archivos XML de configuración. Sin embargo, los documentos de referencia proporcionan gran cantidad de ejemplos que utilizan el siguiente código a continuación:¿Cuáles son algunos usos válidos para spEL (Spring Expression Language)?

ExpressionParser parser = new SpelExpressionParser(); 

String name = parser.parseExpression 

¿Cuándo y por qué iba a estar usando esto como yo puedo hacer todo esto utilizando java regular. ¿Me faltan algunas características u otros usos donde SpelExpressionParser podría ser útil? ¿Hay otros casos de usos para el SLE que no conozco?

Respuesta

10

Usted puede utilizar SpEL como una alternativa sencilla a la reflexión de Java. Reduce mucho código para ti.
Uno de los casos de uso, que tenía en mi trabajo es aplanar un gráfico de objetos de profundidad a un par nombre-valor para fines de indexación y búsqueda.

El gráfico de objetos puede extenderse por nuestros clientes, en cuyo caso las propiedades adicionales también deben ser indexados. Al usar SpEL, los clientes solo necesitan escribir expresiones en algunos archivos de propiedades y el código de la estructura se encarga de extraer los nuevos datos.

Todo el use-cases of Java reflection son también posibles casos de uso para Juegos con sencillez añadido y código reducida.

+0

gracias por el ejemplo. – user373201

2

Con el fin de evaluar las expresiones de tiempo de ejecución de Java arbitrarios en que había necesidad de utilizar el marco de la compilación, cree una clase, compilarlo, cargarlo, ligarlo, ejecutarlo, ...

lenguajes de expresión y/o las secuencias de comandos eliminan una gran cantidad de trabajo adicional que no está directamente relacionado con el problema que está tratando de resolver. Lo que EL tiene más sentido para usar depende de varios factores.

Cuestiones relacionadas