Я пытаюсь узнать, как использовать applicationContext. Моя цель - обмен файловым хранилищем данных реального времени при использовании моих модульных тестов. Я не хочу делать это явно, я хочу сделать это с помощью инъекции зависимостей.Почему мой боб пустой?
Как простой тест, прежде чем я усложню ситуацию, я просто пытаюсь извлечь компонент из моего приложенияContext.xml. Из того, что я прочитал, это должно работать:
@ContextConfiguration(locations = "/applicationContext.xml")
public class ResultsListTests {
@Resource
CompanyResult resultBean;
@Test
public void shouldAddResults() {
assertEquals(resultBean.getCompanyName(), "Microsoft");
Но мой результатBean всегда равен нулю. Вот мой applicationContext.xml, который находится под WebContent/WEB-INF:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<bean id="resultBean" name="resultBean" class="com.trgr.cobalt.company.domain.CompanyResult">
<property name="companyName">
<value>Microsoft</value>
</property>
</bean>
</beans>
Так почему же мой resultBean всегда нуль? Что я сделал неправильно?
Благодарим вас за ответ. Два вопроса. 1) SpringJUnit4ClassRunner не может быть разрешен для типа. Что с этим? 2) Хотя полезно знать, что мой applicationContext.xml находится не в том месте, было бы намного полезнее узнать правильное место, чтобы его поместить («корень пути к классам» для меня не имеет большого значения, поскольку Я очень новичок в Spring и Java). Я прочитал главу о BeanFactory и ApplicationContext и, судя по всему, они ожидают, что вы узнаете, где это происходит. – Samo
Какую версию весны вы используете? И как ваш проект организован (макет исходной папки)? –
Я использую 3.0.5. Мои ресурсы Java содержат папку src и несколько тестовых папок. В моей папке src ничего нет, кроме пакетов. Мне сказали, что я должен добавить папку ресурсов в разделе Ресурсы Java и разместить там свой applicationContext.xml, а затем я могу ссылаться на нее с помощью WEB-INF/classes/applicationContext.xml. Мне непонятно, как ресурсы Java/ресурсы сопоставляются с WEB-INF/классами, но это было бы не в первый раз, когда я был расстроен тем, что Java настаивает на дыме и зеркалах, когда дело доходит до структуры папок. В любом случае, согласны ли вы с этим или у вас есть другое предложение? – Samo