Wednesday, May 16, 2012

Spring Dependecny Injection examples

DI exists in two major variants, Constructor-based dependency injection and Setter-based dependency injection.

Employee.java


package com.jsl.spring.di;
public class Employee {
private String empno;
private String ename;
private Address address;
public void setEmpno(String empno) {
         this.empno = empno;
}
public String getEmpno() {
         return empno;
}
public void setEname(String ename) {
          this.ename = ename;
}
public String getEname() {
          return ename;
}
public void setAddress(Address address) {
         this.address = address;
}
public Address getAddress() {
        return address;
  }
}

Address.java


package com.jsl.spring.di;

public class Address {
private String city;
private String state;
private String country;
public void setCity(String city) {
       this.city = city;
}
public String getCity() {
          return city;
}
public void setState(String state) {
          this.state = state;
}
public String getState() {
           return state;
}
public void setCoutry(String country) {
            this.country = country;
}
public String getCountry() {
           return country;
  }
}

MainClass.java


package com.jsl.spring.di;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainClass {
   public static void main(String[] args) {
   ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("employee.xml");
   Employee emp=context.getBean(Employee.class);
   System.out.println("The Employee Details are : ");
   System.out.println("Empno is :"+emp.getEmpno());
   System.out.println("Ename is :"+emp.getEname());
   System.out.println("City is :"+emp.getAddress().getCity());
   System.out.println("State is :"+emp.getAddress().getState());
   System.out.println("Country is :"+emp.getAddress().getCoutry());
  }
}

employee.xml



 

          
          
          



          
          
          


The output is :
The Employee Details are :
Empno is :1001
Ename is :JSLTech
City is :Bangalore
State is :Karnataka
Country is :India

Constructor Injection

Employee.java


package com.jsl.spring.di; 
public class Employee { 
private String empno; 
private String ename; 
private Address address; 
public Employee(String empno,String ename,Address address){ 
   this.empno=empno; 
   this.ename=ename; 
   this.address=address; 
} 
public String getEmpno() { 
  return empno; 
} 
public String getEname() { 
  return ename; 
} 
public Address getAddress() { 
  return address; 
} 
} 

Address.java


package com.jsl.spring.di; 
public class Address { 
  private String city; 
  private String state; 
  private String country; 
  public Address(String city,String state,String country) { 
     this.city = city; 
     this.state=state; 
     this.country=country; 
  } 
  public String getCity() { 
    return city; 
  } 
  public String getState() { 
    return state; 
  } 
  public String getCountry() { 
    return country; 
  } 
} 

MainClass.java


package com.jsl.spring.di; import org.springframework.context.support.ClassPathXmlApplicationContext; 
public class MainClass { 
public static void main(String[] args) { 
    ClassPathXmlApplicationContext context= new       ClassPathXmlApplicationContext("employee.xml");
   Employee emp=context.getBean(Employee.class); 
   
   System.out.println("The Employee Details are : "); 
   System.out.println("Empno is :"+emp.getEmpno()); 
   System.out.println("Ename is :"+emp.getEname()); 
   System.out.println("City is :"+emp.getAddress().getCity());
   System.out.println("State is :"+emp.getAddress().getState());
   System.out.println("Country is :"+emp.getAddress().getCountry()); 
 }
} 

employee.xml

The output is : 
  The Employee Details are : 
  Empno is :1001 
  Ename is :JSLTech 
  City is :Bangalore 
  State is :Karnataka 
  Country is :India

No comments:

Post a Comment

Spring Boot 3 : JWT with SecurityFilterChain, AuthorizeHttpRequests, RequestMatchers

pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0...