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); } }
28.10.Properties File | ||||
28.10.1. | Spring Properties File Base Data Injection | ![]() | ||
28.10.2. | Property File based Bean Injection | ![]() | ||
28.10.3. | Properties File Based Spring Bean | ![]() | ||
28.10.4. | IOC With Properties File | ![]() |