Spring Java Tutorial

File: context.xml


    "http://www.springframework.org/dtd/spring-beans.dtd">

  
    
      
    

  
  
  

File: Main.java

import java.util.Date;
import java.util.GregorianCalendar;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
class Main {
  public static void main(String args[]) throws Exception {
    ApplicationContext ctx = new ClassPathXmlApplicationContext("context.xml");
    RangeService ws = (RangeService) ctx.getBean("RangeService");
    Double high = ws.getHistoricalHigh(new GregorianCalendar(2004, 0, 1).getTime());
    System.out.println("High was: " + high);
  }
}
interface RangeService {
  Double getHistoricalHigh(Date date);
}
class RangeServiceImpl implements RangeService {
  RangeDao RangeDao;
  public RangeServiceImpl(RangeDao RangeDao) {
    this.RangeDao = RangeDao;
  }
  public Double getHistoricalHigh(Date date) {
    RangeData wd = RangeDao.find(date);
    if (wd != null)
      return new Double(wd.getHigh());
    return null;
  }
}
class RangeData {
  Date date;
  double low;
  double high;
  public Date getDate() {
    return date;
  }
  public void setDate(Date date) {
    this.date = date;
  }
  public double getLow() {
    return low;
  }
  public void setLow(double low) {
    this.low = low;
  }
  public double getHigh() {
    return high;
  }
  public void setHigh(double high) {
    this.high = high;
  }
}
interface RangeDao {
  RangeData find(Date date);
  RangeData save(Date date);
  RangeData update(Date date);
}
class StaticDataRangeDaoImpl implements RangeDao {
  public RangeData find(Date date) {
    RangeData wd = new RangeData();
    wd.setDate((Date) date.clone());
    wd.setLow(5);
    wd.setHigh(15);
    return wd;
  }
  public RangeData save(Date date) {
   return null;
  }
  public RangeData update(Date date) {
    return null;
  }
}