| File: context.xml
 
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
 "http://www.springframework.org/dtd/spring-beans.dtd">
 
 <beans>
 
 <bean id="weatherService" class="WeatherServiceImpl">
 <property name="weatherDao">
 <ref local="weatherDao"/>
 </property>
 </bean>
 
 <bean id="weatherDao" class="StaticDataWeatherDaoImpl">
 </bean>
 
 </beans>
 
 
 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");
 WeatherService ws = (WeatherService) ctx.getBean("weatherService");
 
 Double high = ws.getHistoricalHigh(new GregorianCalendar(2004, 0, 1).getTime());
 
 System.out.println("High was: " + high);
 }
 }
 
 class StaticDataWeatherDaoImpl implements WeatherDao {
 public WeatherData find(Date date) {
 WeatherData wd = new WeatherData();
 wd.setDate((Date) date.clone());
 return wd;
 }
 
 public WeatherData save(Date date) {
 System.out.println("save");
 return null;
 }
 
 public WeatherData update(Date date) {
 System.out.println("update");
 return null;
 }
 }
 
 interface WeatherService {
 Double getHistoricalHigh(Date date);
 }
 
 class WeatherServiceImpl implements WeatherService {
 private WeatherDao weatherDao;
 
 public void setWeatherDao(WeatherDao weatherDao) {
 this.weatherDao = weatherDao;
 }
 
 public Double getHistoricalHigh(Date date) {
 return null;
 }
 }
 
 interface WeatherDao {
 WeatherData find(Date date);
 
 WeatherData save(Date date);
 
 WeatherData update(Date date);
 }
 
 class WeatherData {
 
 Date date;
 
 
 public Date getDate() {
 return date;
 }
 
 public void setDate(Date date) {
 this.date = date;
 }
 
 
 }
 
 
 
 
 
 
 |