|  | 
 
 
 
 | Spring Properties File Based Data Injection |  | 
 |  
   
 
        
File: helloworld-context.properties 
 
source.(class)=SimpleMessageData 
destination.(class)=StdoutMessageReporter 
service.(class)=DefaultMessageService 
service.source(ref)=source 
service.destination(ref)=destination 
 
 
File: Main.java 
 
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("helloworld-context.properties")); 
 
    MessageService service = (MessageService) bf.getBean("service"); 
    service.execute(); 
  } 
} 
interface MessageService { 
 
  void execute(); 
 
} 
class DefaultMessageService implements MessageService { 
  private MessageData source; 
  private MessageReporter destination; 
 
  public void execute() { 
      this.destination.write(this.source.getMessage()); 
  } 
 
  public void setSource(MessageData source) { 
      this.source = source; 
  } 
 
  public void setDestination(MessageReporter destination) { 
      this.destination = destination; 
  } 
} 
 
interface MessageReporter { 
 
  void write(String message); 
 
} 
 
interface MessageData { 
 
  String getMessage(); 
 
} 
 
class StdoutMessageReporter implements MessageReporter { 
 
  public void write(String message) { 
    System.out.println(message); 
  } 
} 
 
class SimpleMessageData implements MessageData { 
  private final String message; 
 
  public SimpleMessageData() { 
    this("Hello, world"); 
  } 
 
  public SimpleMessageData(String message) { 
    this.message = message; 
  } 
 
  public String getMessage() { 
    return this.message; 
  } 
} 
 
 
 
            
       
  |     
 
 |   |   Spring-SpringPropertiesFileBaseDataInjection.zip( 2,601 k) |  | Related examples in the same category |   
 |