Link to home
Create AccountLog in
Avatar of gudii9
gudii9Flag for United States of America

asked on

spring injection of objects

Hi,

I am running below example on spring injection of objects
my code looks as below

spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" [
<!ENTITY contextInclude SYSTEM "org/springframework/web/portlet/context/WEB-INF/contextInclude.xml">
]>

<beans>
<bean id="triangle" class="org.gp.gpr.Trianglebj">
<property name="pointA" ref="zeroPoint"/>
<property name="pointB" ref="point2"/>
<property name="pointC" ref="point3"/>
</bean>

<bean id="zeroPoint" class="org.gp.gpr.Point">
<property name="x" value="0"/>
<property name="y" value="0"/>
</bean>


<bean id="point2" class="org.gp.gpr.Point">
<property name="x" value="20"/>
<property name="y" value="0"/>
</bean>

<bean id="point3" class="org.gp.gpr.Point">
<property name="x" value="-200"/>
<property name="y" value="0"/>
</bean>

</beans>

client class looks as below

package org.gp.gpr;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;

public class DrawingAppObj {

      /**
       * @param args
       */
      public static void main(String[] args) {
            //      Triangle triangle=new Triangle();
            //      triangle.draw();


//            BeanFactory factory=new XmlBeanFactory(new FileSystemResource("spring.xml"));
            ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
            Trianglebj trianglebj      =(Trianglebj) context.getBean("triangle");
            trianglebj.draw();
      }

}
















triangle object looks as below

package org.gp.gpr;

public class Trianglebj {
private Point pointA;
private Point pointB;
private Point pointC;
      
      public void draw(){


      //      System.out.println(getType()+"triangle drawed"+getHeight());
            System.out.println("PointA=("+getPointA().getX()+","+getPointA().getY()+")");
            System.out.println("PointB=("+getPointB().getX()+","+getPointB().getY()+")");
      System.out.println("PointC=("+getPointC().getX()+","+getPointC().getY()+")");
      }

      public Point getPointA() {
            return pointA;
      }

      public void setPointA(Point pointA) {
            this.pointA = pointA;
      }

      public Point getPointB() {
            return pointB;
      }

      public void setPointB(Point pointB) {
            this.pointB = pointB;
      }

      public Point getPointC() {
            return pointC;
      }

      public void setPointC(Point pointC) {
            this.pointC = pointC;
      }

      
}


Point.java looks as below

package org.gp.gpr;

public class Point {
private int x;
public int getX() {
      return x;
}
public void setX(int x) {
      this.x = x;
}
public int getY() {
      return y;
}
public void setY(int y) {
      this.y = y;
}
private int y;

}



My question is how is object injection is different compared to injecting primitives.
How it is printing point values are they primitives or objects?
Please advise. Any ideas, resources, sample code highly appreciated. thanks in advance
selecttwo.jpg
SOLUTION
Avatar of Am P
Am P
Flag of India image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
SOLUTION
Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
ASKER CERTIFIED SOLUTION
Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
Agree with GuruJava and girionis.