Spring Tutorial – Spring Expression Language (EL)

Spring Expression Language

Spring Tutorial – Spring Expression Language (EL)

Преглед:

The Spring Expression Language, abbreviated as SpEL, is basically an expression language. It is very powerful in its workings and offers support for queries and manipulation of an object graph during runtime. Функцијата беше објавена со Spring,,en,Додека синтаксата на јазикот е прилично слична на Unified EL,,en,нуди повеќе карактеристики,,en,Од нив,,en,најпопуларните се нишки обрасци и повикување на метод,,en,Постојат неколку,,en,достапни јазици за изразување,,en,тие се JBoss EL,,en,МВЕЛ,,en,ONGL и многу повеќе,,en,создавањето на посебен јазик за пролетно изразување беше да се осигура дека пролетната заедница има единствен јазик за поддршка на изразување што може да се користи низ сè во,,en,Многу од неговите карактеристики во голема мера се должат на барањата што најверојатно ќе ги имаат проектите во средината на Пролет,,en,како што се алатки за завршување на кодот во,,en,Пакет со алатки,,en,SpEL се заснова на агностички API,,en,што значи дека другите јазици на изразување можат да се интегрираат кога е потребно да се стори тоа,,en 3.0 in 2009.

While the syntax of the language is pretty similar to Unified EL, it does offer more features. Of them, the most popular ones are string templates and method invocation. There are several Јава expression languages available, them being JBoss EL, MVEL, ONGL and more. However, the creation of a separate Spring Expression Language was to ensure that the Spring community had a single supportive expression language that could be used across everything in the Spring framework. Many of its features are largely due to the requirements that projects are likely to have in the Spring environment, such as tooling for code completion in the пролет Tool Suite. SpEL is based on agnostic API, meaning other expression languages can be integrated when it is necessary to do so. И покрај тоа што Пролетта е основата на која работи евалуацијата на изразот,,en,не зависи од тоа,,en,Тој е независен и може да се гледа како независен јазик на изразување,,en,Зошто СПЕЛ,,en,Имајќи предвид дека постојат неколку јазици што можат да се користат за проценка на изразите,,en,Пролетта се издвојува од неколку причини,,en,Еве неколку причини зошто треба да размислите за јазикот на пролетниот израз,,en,Синтакса,,en,SpEL може да се користи и во метаподатоците за прибелешки,,en,Конфигурација на пролет,,en,и XML,,en,И во двата случаи,,en,ознаката се одвива со употреба на синтаксата,,en,„Низа израз во SpEL“,,en,за евалуација на траење,,en,Го намалува кодот,,en,SpEL е многу едноставна алтернатива на многу други јазици на израз што се таму,,en,може да намали многу код за вас,,en,Кога користите SpEL,,en, it is not dependent on it. It is independent and can be viewed as an independent expression language.

Must Read – Learn Spring AOP in 30 minutes








Why SpEL?

Considering that there are several languages that can be used for the evaluation of expressions, Spring does stand out for a few reasons. Here are a few reasons as to why you should consider Spring Expression Language.

  • Syntax

SpEL can be used in both annotation metadata (Spring configuration) and XML. In both the cases, the designation takes place using the syntax #{“expression string in SpEL”} for runtime evaluation.

  • Reduces code

SpEL is a very simple alternative to many of the other expression languages that are there. In fact, it can reduce a lot of code for you.

  • Simplified

When using SpEL, кодерот треба да се грижи само за запишување на изразите во датотеката за одредени својства,,en,Рамковниот код е одговорен за ракување со екстракција на новите податоци,,en,Јазикот за пролетно изразување има голем број карактеристики што беа споменати подолу -,,en,Редовни изрази,,en,Буквални изрази,,en,Класни изрази,,en,Булови и релациони оператори,,en,Оператори за доделување задачи,,en,Изразени во образец,,en,Повикување на методот,,en,Повикувајќи конструктори,,en,Избор и проекција на колекцијата,,en,Променливи,,en,Тернарен оператор,,en,Конструкција на низа,,en,Кориснички дефинирани функции,,en,Вградени списоци,,en,Референци на грав,,en,Пристап до низите,,en,списоци,,en,мапи,,en,Некои од карактеристиките ќе бидат опфатени во следниве примери,,en,Другите карактеристики исто така може да се тестираат со примена на примена апликации,,en,Но, структурата на апликацијата ќе остане иста,,en,Сега вашата околина е подготвена да започне да развива Java апликации засновани на пролет,,en. The framework code is responsible for extraction handling of the new data.

What are the features?

Spring Expression Language comes with a number of features which have been mentioned below –

  • Regular expressions
  • Literal expressions
  • Class expressions
  • Boolean and relational operators
  • Assignment operators
  • Templated expressions
  • Method invocation
  • Calling constructors
  • Collection selection and projection
  • Variables
  • Ternary operator
  • Array construction
  • User defined functions
  • Inline lists
  • Bean references
  • Accessing arrays, lists, properties, maps

Some of the features will be covered in the following examples. The other features can also be tested using sample applications. But the application structure will remain the same.

Must Read – Steps to work with Spring Integration

Environment setup:

Setting up the environment for Spring based application development involves just three major steps.

  • Setting up Java Development Kit

Превземи JDK from the Oracle site and then, инсталирате и конфигурирате. Then the PATH and JAVA_HOME environment variables must be set.

  • Setting of Eclipse IDE

Eclipse can be downloaded from the официјална веб-страница. Once downloaded, unpack the binaries and then set the PATH as well.

  • Setting up Spring libraries

The Spring libraries may be obtained from http://repo.spring.io/release/org/springframework/spring/. Again, it is important to set the CLASSPATH correctly.

Now your environment is ready to start developing Spring based Java applications.








Sample application:

Во овој дел ќе го истражиме јазикот на изразување што се користи во XML-датотека,,en,Јазикот на изразување може да се користи и како прибелешка во датотеката Java,,en,Ако ЕЛ се користи како прибелешка,,en,тогаш XML-датотеката не е потребна,,en,ЕЛ генерално се пишува како,,en,Израз на СПЕЛ,,sv,Следното е едноставно гравче од компанијата што се повикува на грав од производот,,en,Содржи име на производ и цена како што е прикажано подолу,,en,Грав од компанија,,en,com.techalpine.spel,,sv,Производ на производот,,en,Име на низата,,en,Стринг цени,,en,Стринг getPrprice,,en,цената,,ro,постави Цена,,en,цената = цената,,ro,Производ getProduct,,en,сетПроизвод,,en,производ = производ,,en,Стринг getPrname,,en,име,,en,setPrname,,en,признам = заменка,,en,Следното е гравот на производот со име и цена,,en,Тој е наведен во грав од компанијата погоре,,en,Грав од производ,,en,Производ,,en,Стринг цена,,en,Стринг getPrice,,en,цена,,en,setPrice,,nl,цена = цена,,en,ова е XML-датотека,,en,Еве грав од производ,,en. The expression language can also be used as annotation in Java file. If the EL is used as annotation, then XML file is not required. EL is generally written as #{SpEL expression}

Following is a simple company bean having reference of Product bean. It contains product name and price as shown below.

Listing 1: Company bean

package com.techalpine.spel;

јавноста класа Компанијата {

приватни Product product;

приватни String prname;

приватни String prprice;

јавноста String getPrprice() {

return prprice;

}

јавноста поништат setPrprice(String prprice) {

this.prprice = prprice;

}

јавноста Product getProduct() {

return product;

}

јавноста поништат setProduct(Product product) {

this.product = product;

}

јавноста String getPrname() {

return prname;

}

јавноста поништат setPrname(String prname) {

this.prname = prname;

}

}

Following is the product bean having name and price. It is referred in company bean above.

Listing 2: Product bean

package com.techalpine.spel;

јавноста класа Product {

приватни String name;

приватни String price;

јавноста String getName() {

return име;

}

јавноста поништат setName(String name) {

this.name = name;

}

јавноста String getPrice() {

return price;

}

јавноста поништат setPrice(String price) {

this.price = price;

}

}

Now, this is the XML file. Here product bean, името на производот и цената на производот се споменуваат како јазик на изразување,,en,Стандардните вредности се поставени и во XML-датотеката,,en,Така, овие ќе бидат достапни и во компанијата грав,,en,Проверете како се користи синтаксата на изразот јазик во датотеката грав,,en,Слична синтакса се користи и во случај на програма заснована на прибелешка,,en,Конфигурација XML,,en,prodBean,,en,игра.Производ,,nl,компанијаBan,,ro,spel.Компанија,,en,prodBean.име,,en,prodBean.цена,,en,Ова е главната Java апликација,,en,Добива референца за гравот на компанијата и потоа се печати името на производот и цената,,en,Уште некои својства и нивните вредности исто така може да се инјектираат на сличен начин и да се користат во примената за примерок,,en,Главна програма за Java за тестирање,,en,org.springframework.context.support.FileSystemXmlApplicationContext,,en,Игра Главна,,nl,FileSystemXmlApplicationContext,,en,Веб-содржина / WEB-INF / spelConfig.xml,,nl,Компанија компанија =,,en,Име на производот,,en,compobj.getPrname,,en. The default values are also set in the XML file. So these will be available in the company bean also. Please check how the expression language syntax is used in the bean file. Similar syntax is also used in case of annotation based program.

Listing 3: Configuration XML

<грав xmlns =“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd”>

<грав id =“prodBean” class =“com.techalpine.spel.Product”>

<property name=“име” value=“Car” />

<property name=“price” value=“1000000” />

</грав>

<грав id =“companyBean” class =“com.techalpine.spel.Company”>

<property name=“product” value=“#{prodBean}” />

<property name=“prname” value=“#{prodBean.name}” />

<property name=“prprice” value=“#{prodBean.price}” />

</грав>

</грав>

This is the main Java application. It gets reference of the company bean and then prints the product name and price. Some more properties and their values can also be injected in a similar way and used in the sample application.

Listing 4: Main Java program to test

package com.techalpine.spel;

увоз org.springframework.context.ApplicationContext;

увоз org.springframework.context.support.FileSystemXmlApplicationContext;

јавноста класа SpELMain {

јавноста статички поништат Главната(Стринг[] аргументи) {

ApplicationContext context = нови FileSystemXmlApplicationContext(

“WebContent/WEB-INF/spelConfig.xml”);

Company compobj = (Компанијата) context.getBean(“companyBean”);

Систем.надвор.println(“Product Name: “+compobj.getPrname());

Систем.надвор.println(“Цена на производот,,en,комбој. земи ја цената,,en,Откако ќе ја стартувате апликацијата, следниот излез ќе се прикаже на конзолата,,en,Јазикот за пролетно изразување може да биде одлична опција ако барате јазици за изразување слични на унифицираниот EL,,en,SpEL ви овозможува динамично да доделувате вредности при извршување и затоа заштедува многу кодирање од страна на програмерот,,en,исто така може да работи на две различни шеми за конфигурација - врз основа на XML и на прибелешки,,en,секоја опција може да биде избрана според вашата потреба,,en,Spring EL е многу моќен и може да се прошири за да додаде повеќе функционалност во вашата апликација,,en,Написи поврзани со пролетта,,en: “+compobj.getPrprice());

}

}

Once you run the application following output will be display on the console.

Product Name: Car

Цена на производот,,en,комбој. земи ја цената,,en,Откако ќе ја стартувате апликацијата, следниот излез ќе се прикаже на конзолата,,en,Јазикот за пролетно изразување може да биде одлична опција ако барате јазици за изразување слични на унифицираниот EL,,en,SpEL ви овозможува динамично да доделувате вредности при извршување и затоа заштедува многу кодирање од страна на програмерот,,en,исто така може да работи на две различни шеми за конфигурација - врз основа на XML и на прибелешки,,en,секоја опција може да биде избрана според вашата потреба,,en,Spring EL е многу моќен и може да се прошири за да додаде повеќе функционалност во вашата апликација,,en,Написи поврзани со пролетта,,en: 1000000

Must Read – Learn Spring Boot in 30 Minutes








Заклучок:

Spring Expression Language can be a great option if you are looking for an expression languages that is similar to the Unified EL. SpEL allows you to dynamically assign values at runtime and therefore saves a lot coding on the part of the programmer. Besides, it can also work on two different configuration schemes – XML and annotation based. So, any option can be selected as per your need. Spring EL is very powerful and it can be extended to add more functionality in your application.

Explore – Spring related articles

 

============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share