Mega Code Archive

 
Categories / Java Tutorial / Spring
 

Properties File Based Spring Bean

File: helloworld-context.properties source.(class)=SimpleMessageData destination.(class)=StdoutMessageReporter 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"));     MessageData source = (MessageData) bf.getBean("source");     MessageReporter destination = (MessageReporter) bf.getBean("destination");     destination.write(source.getMessage());   } } 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;   } }