Source Code : Reference another bean and set property
Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com.
Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com.
Click Here or search from google with Libraries Name you get jar file related it
Reference another bean and set property
File: context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<bean id="encyclopedia" class="HardcodedEncyclopedia"/>
<bean id="oracle" class="BookwormOracle">
<property name="encyclopedia" ref="encyclopedia"/>
</bean>
</beans>
File: Main.java
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
public class Main {
public static void main(String[] a) {
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("context.xml"));
Oracle oracle = (Oracle) bf.getBean("oracle");
System.out.println("Meaning of life is " + oracle.defineMeaningOfLife());
}
}
interface Oracle {
String defineMeaningOfLife();
}
interface Encyclopedia {
Long findLong(String entry);
}
class BookwormOracle implements Oracle {
private Encyclopedia encyclopedia;
public String defineMeaningOfLife() {
Long ageOfUniverse = this.encyclopedia.findLong("AgeOfUniverse");
Long constantOfLife = this.encyclopedia.findLong("ConstantOfLife");
return String.valueOf(ageOfUniverse / constantOfLife);
}
public void setEncyclopedia(Encyclopedia encyclopedia) {
this.encyclopedia = encyclopedia;
}
}
class HardcodedEncyclopedia implements Encyclopedia {
private Map<String, Long> entryValues = new HashMap<String, Long>();
public HardcodedEncyclopedia() {
this.entryValues.put("AgeOfUniverse", 13700000000L);
this.entryValues.put("ConstantOfLife", 326190476L);
}
public Long findLong(String entry) {
return this.entryValues.get(entry);
}
}
Thank with us