Frühling EL Hallo Weltbeispiel

Spring EL Hallo Weltbeispiel

Die Spring-EL ist mit OGNL und JSF-EL vergleichbar und wird während der Bean-Erstellungszeit ausgewertet oder ausgeführt. Darüber hinaus sind alle Spring-Ausdrücke über XML oder Annotation verfügbar.

In diesem Tutorial zeigen wir Ihnen, wie SieSpring Expression Language(SpEL) verwenden, um String, Integer und Bean sowohl in XML als auch in Annotation in die Eigenschaft einzufügen.

1. Frühling EL Abhängigkeit

Deklariert die Spring-Kerngläser in der Mavenpom.xml-Datei und lädt die Spring EL-Abhängigkeiten automatisch herunter.

Datei: pom.xml

    
        3.0.5.RELEASE
    

    

        
        
            org.springframework
            spring-core
            ${spring.version}
        

        
            org.springframework
            spring-context
            ${spring.version}
        

    

2. Frühlingsbohnen

Zwei einfache Beans verwenden später SpEL, um Werte in XML und Annotation in die Eigenschaft einzufügen.

package com.example.core;

public class Customer {

    private Item item;

    private String itemName;

}
package com.example.core;

public class Item {

    private String name;

    private int qty;

}

3. Spring EL in XML

Die SpEL sind in#{ SpEL expression } eingeschlossen, siehe folgendes Beispiel in der XML-Bean-Definitionsdatei.



    
        
        
    

    
        
        
    

  1. #{itemBean} - Fügen Sie "itemBean" in die "item" -Eigenschaft der "customerBean" -Bohne ein.

  2. #\{itemBean.name} - Fügen Sie die "name" -Eigenschaft von "itemBean" in die "itemName" -Eigenschaft der "customerBean" -Bohne ein.

4. Frühling EL in der Anmerkung

Siehe entsprechende Version im Anmerkungsmodus.

Note
Um SpEL in Annotationen verwenden zu können, müssen Sie Ihre Komponente per Annotation registrieren. Wenn Sie Ihre Bean in XML registrieren und@Value in der Java-Klasse definieren, kann@Value nicht ausgeführt werden.

package com.example.core;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("customerBean")
public class Customer {

    @Value("#{itemBean}")
    private Item item;

    @Value("#{itemBean.name}")
    private String itemName;

    //...

}
package com.example.core;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("itemBean")
public class Item {

    @Value("itemA") //inject String directly
    private String name;

    @Value("10") //inject interger directly
    private int qty;

    public String getName() {
        return name;
    }

    //...
}

Aktivieren Sie das automatische Scannen von Komponenten.



    

Im Anmerkungsmodus verwenden Sie@Value, um Spring EL zu definieren. In diesem Fall fügen Sie einen String- und einen Integer-Wert direkt in die Eigenschaft "itemBean" und später die "itemBean" in die Eigenschaft "customerBean" ein.

5. Ausgabe

Führen Sie es aus. Sowohl SpEL in XML als auch Annotation zeigen dasselbe Ergebnis an:

package com.example.core;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("SpringBeans.xml");

        Customer obj = (Customer) context.getBean("customerBean");
        System.out.println(obj);
    }
}

Ausgabe

Customer [item=Item [name=itemA, qty=10], itemName=itemA]

Quellcode herunterladen

Laden Sie es herunter -Spring3-EL-Hello-Worldr-Example.zip (6 KB)