У меня есть следующая проблема в приложении Java, использующем структуру Spring.
Итак, у меня есть следующая ситуация, в файле конфигурации root-context.xml у меня есть эта конфигурация bean-компонента:
<!-- Definition for datiPianiInterventiDaoImpl bean -->
<bean id="datiPianiInterventiDaoImpl" class="it.myCompany.myclient.batch.dao.DatiPianiInterventiDaoImpl">
<property name="dataSource" ref="dataSource" />
</bean>
Итак, он отлично работает, и этот bean-компонент правильно создан и работает нормально.
Проблема в том, что теперь в этот компонент мне нужно внедрить экземпляр класса org.springframework.core.env.Environment Spring.
Поэтому я пытаюсь сделать так:
public class DatiPianiInterventiDaoImpl implements DatiPianiInterventiDao {
@Autowired
private Environment env;
...................................................
...................................................
...................................................
}
Но, похоже, это не сработает, потому что при выполнении приложения значение Environment env равно null.
@Autowired активирован, потому что я использую эту аннотацию в других классах моего проекта.
Так в чем может быть проблема? Я думаю, что, возможно, это может зависеть от того факта, что я определяю свой компонент, имеющий id="datiPianiInteventiDaoImpl", в свой root-context.xml (и здесь я также определяю зависимость для внедрения в этот компонент).
Так что, может быть, я не могу смешивать внедрение XML-зависимостей с использованием @Autowired?
Что случилось? Что мне не хватает? Как я могу правильно внедрить экземпляр Environment в этот класс?
<context;annotation-config />
, либо<context:component-scan />
. - person M. Deinum   schedule 23.02.2016