контекст: компонентное сканирование не работает в junit - PullRequest
0 голосов
/ 26 февраля 2019

Я добавил весь базовый пакет в мой applicationContext.xml, но все равно я показываю noBeanDefinitionException.

applicationContext.xml

  <!-- Autowiring -->

            <context:component-scan base-package="com.paymentech.developercenter.services"/>

        <import resource="classpath:spring/applicationContext-fragment-mybatisMOCK.xml" />

DispathcherServlet-servlet.xml

   <import resource="classpath:spring/applicationContext.xml" /> 

      <bean id="localeResolver" class="org.springframework.web.servlet.i18n.FixedLocaleResolver">
        <property name="defaultLocale" value="en_US" />
    </bean>
    <bean class="org.springframework.web.servlet.DispatcherServlet"/>

FaqControllerTest.java

@RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = {"classpath:spring/DispatcherServlet-servlet.xml" })
    @WebAppConfiguration("WEB-INF/web.xml")

    public class FaqControllerTest {
        @Autowired
        private WebApplicationContext context;

        @Autowired
        private DispatcherServlet dispatcherServlet;

        @Before
        public void init() throws ServletException, IOException {
            SpringTestConfiguration.init(context, dispatcherServlet);

        }

Ошибка: -

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'integratorSolutionController': Unsatisfied dependency expressed through field 'solutionService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'integratorSolutionService': Unsatisfied dependency expressed through field 'solutionStatusService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'solutionStatusService': Unsatisfied dependency expressed through field 'solutionStatusMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.paymentech.developercenter.persistence.isg.mappers.SolutionStatusMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

1 Ответ

0 голосов
/ 26 февраля 2019

Ваша ошибка:

Причина: org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании компонента с именем «integratorSolutionController»: неудовлетворенная зависимость, выраженная через поле «solutionService»;Вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании bean-компонента с именем «integratorSolutionService»: Неудовлетворенная зависимость, выраженная через поле «solutionStatusService»;вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании компонента с именем 'solutionStatusService': неудовлетворенная зависимость, выраженная через поле 'solutionStatusMapper';вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: отсутствует квалифицируемый компонент типа 'com.paymentech.developercenter.persistence.isg.mappers.SolutionStatusMapper': ожидается, что по крайней мере 1 компонент будет квалифицирован как кандидат для автоматической передачи.Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (обязательно = true)}

И это означает, что Spring не может создать объект, имя которого равно «solutionStatusService».

Почему : потому что Spring не может создать одну из его зависимостей с именем "solutionStatusMapper".

Основная причина : Вы не добавили компонент-scan, который будет сканировать ваш постоянный слой, представленный как "com.paymentech.developercenter.persistence" ИЛИ , вы добавили его и не добавили @Component выше "solutionStatusMapper".В противном случае Весна увидит это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...