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