Tuesday 25 September 2018

Bean reference example using spring expression language(XML) | Spring Tutorial


Click here to watch on Youtube:
https://www.youtube.com/watch?v=mgiI-FE_Ncw&list=UUhwKlOVR041tngjerWxVccw

Click the below Image to Enlarge:
Bean reference example using spring expression language(XML) | Spring Tutorial

Bean reference example using spring expression language(XML) | Spring Tutorial
pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.ram.core</groupId>
    <artifactId>SpringDemo</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>SpringDemo</name>
    <url>http://maven.apache.org</url>

    <properties>
        <spring.version>5.0.5.RELEASE</spring.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <!-- Spring 5 dependencies -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
    </dependencies>
</project>

Address.java

package com.ram.model;

public class Address
{
    private String street;

    private String city;

    private String state;

    public String getStreet()
    {
        return street;
    }

    public void setStreet(String street)
    {
        this.street = street;
    }

    public String getCity()
    {
        return city;
    }

    public void setCity(String city)
    {
        this.city = city;
    }

    public String getState()
    {
        return state;
    }

    public void setState(String state)
    {
        this.state = state;
    }

    public String getFullAddress()
    {
        return street + "," + city + "," + state;
    }

    @Override
    public String toString()
    {
        return "Address [street=" + street + ", city=" + city + ", state="
                + state + "]";
    }

}

Employee.java

package com.ram.model;

public class Employee
{
    private int id;

    private String name;

    private Address address;

    private String employeeState;

    private String fullAddress;

    public int getId()
    {
        return id;
    }

    public void setId(int id)
    {
        this.id = id;
    }

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public Address getAddress()
    {
        return address;
    }

    public void setAddress(Address address)
    {
        this.address = address;
    }

    public String getEmployeeState()
    {
        return employeeState;
    }

    public void setEmployeeState(String employeeState)
    {
        this.employeeState = employeeState;
    }

    public String getFullAddress()
    {
        return fullAddress;
    }

    public void setFullAddress(String fullAddress)
    {
        this.fullAddress = fullAddress;
    }

    @Override
    public String toString()
    {
        return "Employee [id=" + id + ", name=" + name + ", employeeState="
                + employeeState + ", fullAddress=" + fullAddress + ", address="
                + address + "]";
    }

}

applicationContext.xml

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.3.xsd">


    <bean id="address" class="com.ram.model.Address">
        <property name="street" value="A220 Bridge Appartment"></property>
        <property name="city" value="Chennai"></property>
        <property name="state" value="TamilNadu"></property>
    </bean>


    <bean id="employee" class="com.ram.model.Employee">
        <property name="id" value="100"></property>
        <property name="name" value="Peter"></property>
        <property name="address" value="#{address}"></property>
        <property name="employeeState" value="#{address.state}"></property>
        <property name="fullAddress" value="#{address.getFullAddress()}"></property>
   
    </bean>
</beans>

App.java

package com.ram.core;

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

import com.ram.model.Employee;

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

        System.out.println("---------------------------------------");

        Employee employee = (Employee) context.getBean("employee");
        System.out.println(
                "Got employee object from the ApplicationContext(Spring Container)");
        System.out.println(employee);
    }

}

Output

Sep 01, 2018 8:07:16 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@736e9adb: startup date [Sat Sep 01 08:07:16 IST 2018]; root of context hierarchy
Sep 01, 2018 8:07:16 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
---------------------------------------
Got employee object from the ApplicationContext(Spring Container)
Employee [id=100, name=Peter, employeeState=TamilNadu, fullAddress=A220 Bridge Appartment,Chennai,TamilNadu, address=Address [street=A220 Bridge Appartment, city=Chennai, state=TamilNadu]]

Click the below link to download the code:
https://sites.google.com/site/ramj2eev2/java_basics/SpringDemo_Spring_EL_Bean_Ref.rar?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/javaee/tree/master/Spring_2018/SpringDemo_Spring_EL_Bean_Ref

Bitbucket Link:
https://bitbucket.org/ramram43210/spring/src/02e04aa1b68a77d4f5a01ebf111e80370bd99ca8/Spring_2018/SpringDemo_Spring_EL_Bean_Ref/?at=master

See also:

  • All JavaEE Videos Playlist
  • All JavaEE Videos
  • All JAVA EE Links
  • Spring Tutorial
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • Cooking Tutorial
  • 6 comments:

    1. Hi ram
      I saw your videos it’s amaz
      Can I have ur mail I’d plz

      ReplyDelete
      Replies
      1. Machine Learning Projects for Final Year machine learning projects for final year

        Deep Learning Projects assist final year students with improving your applied Deep Learning skills rapidly while allowing you to investigate an intriguing point. Furthermore, you can include Deep Learning projects for final year into your portfolio, making it simpler to get a vocation, discover cool profession openings, and Deep Learning Projects for Final Year even arrange a more significant compensation.

        Python Training in Chennai Python Training in Chennai Angular Training Project Centers in Chennai

        Delete
    2. I am really enjoying reading your well written articles. It looks like you spend a lot of effort and time on your blog. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work..
      CRM Software in india
      CRM Software in Chennai

      ReplyDelete
    3. As you have now understood the usage of ‘Record and Playback’ tool, the following are the different posts using which you can explore the functioning of ‘Selenium IDE’
      selenium Training in chennai

      ReplyDelete
    4. Excellent post! I enjoyed reading it. Please continue to write. Your content has great value and understanding. Thank you for providing us with this valuable resource.
      Python Training in Marathahalli Bangalore
      Python Course in Marathahalli Bangalore
      Python Training Institute in Marathahalli Bangalore

      ReplyDelete
    5. Excellent post! I enjoyed reading it. Please continue to write. Your content has great value and understanding. Thank you for providing us with this valuable resource.
      Python Training in Marathahalli Bangalore
      Python Course in Marathahalli Bangalore
      Python Training Institute in Marathahalli Bangalore

      ReplyDelete