Mega Code Archive

 
Categories / Java / Spring
 

Property File based Bean Injection

File: context.properties oracle.(class)=BookwormOracle encyclopedia.(class)=HardcodedEncyclopedia oracle.encyclopedia(ref)=encyclopedia File: Main.java import java.util.HashMap; import java.util.Map; import org.springframework.beans.factory.support.BeanDefinitionReader; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.beans.factory.support.PropertiesBeanDefinitionReader; import org.springframework.core.io.ClassPathResource; public class Main {   public static void main(String[] a) {     DefaultListableBeanFactory bf = new DefaultListableBeanFactory();     BeanDefinitionReader reader = new PropertiesBeanDefinitionReader(bf);     reader.loadBeanDefinitions(new ClassPathResource("context.properties"));     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);   } }                     Spring-PropertyFilebasedBeanInjection.zip( 2,600 k)