Properties File Based Spring Bean : XML Bean « Spring « Java






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;
  }
}




           
       








Spring-PropertiesFileBasedSpringBean.zip( 2,601 k)

Related examples in the same category

1.XML Bean Injection
2.Reference another bean and set property
3.Static Factory
4.Serach By Base Package
5.throw RequiredPropertyNotSetException
6.Non Static Factory
7.Local Reference
8.Link With DataSource
9.Inheritance Demo
10.HierarchicalBeanFactory Demo
11.Filtered By Annotation
12.destroy method
13.dependency check Demo
14.Custom InitializationMethod
15.component scan
16.Component Scan and scope
17.Component Filter Assignable
18.implements BeanNameAware
19.Bean Lifecycle Initializing
20.Bean Lifecycle DisposableBean
21.Autowiring
22.Alias Bean Demo