Spring @Autowired не работает

У меня проблемы с аннотацией autowire. Мое приложение выглядит так:

Вот контроллер:

@Controller
public class MyController {
    @Autowired
    @Qualifier("someService")
    private SomeService someService;

    ....
}

Это уровень службы:

public interface SomeService {
    ...
}

@Service
public class SomeServiceImpl implements SomeService{    
    @Autowired
    @Qualifier("myDAO")
    private MyDAO myDAO;

    ....
}

И уровень DAO:

public interface MyDAO{
    ....        
}

@Repository
public class JDBCDAOImpl implements MyDAO {    
    @Autowired
    @Qualifier("dataSource")
    private DataSource dataSource;    
    ....
}

Это файл app-service.xml:

....
<bean id="propertyConfigurer"
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
      p:location="/WEB-INF/jdbc.properties" />

<bean id="dataSource"
      class="org.springframework.jdbc.datasource.DriverManagerDataSource"
      p:driverClassName="${jdbc.driverClassName}"
      p:url="${jdbc.url}"
      p:username="${jdbc.username}"
      p:password="${jdbc.password}"/>

<bean id="SomeService" class="com.service.SomeServiceImpl" />    
<bean id="myDAO" class="com.db.JDBCDAOImpl" />    

Итак ... Когда я Я запускаю веб-приложение MyController Autowires правильно (поле someService правильно введено объектом класса SomeServiceImpl), но myDAO feild of someService имеет нулевое значение (неправильно введено).

Не могли бы вы помочь мне найти проблему?

PS Это интересно, но когда я меняю «идентификатор bean-компонента» с myDAO на какой-то другой (например, myDAO2), система выдает мне ошибку, что внедрение не может быть выполнено, потому что bean-компонент myDAO не существует. Итак, Spring сделали укол, но где он? И почему это? s не работает правильно?

10
задан Landei 22 November 2012 в 09:31
поделиться