我不断遇到问题标题中提到的问题。 我想介绍一些使用ia applicationContext.xml文件和@ImportResource批注的DI 我已经检查了一些将applicationContext.xml位置传递给@ImportResource方法,但是它们不起作用。 在关闭测试的情况下执行编译。 我在项目和项目树中的某些文件的下面发布内容。 您有什么想法可以解决这个问题吗?

GitHubDetailsApplication

package pl.cd.githubdetails;

// imports ...

@SpringBootApplication
// doesnt work:
// @ImportResource(locations = {"applicationContext.xml"})
// @ImportResource(locations = {"classpath:applicationContext.xml"})
// @ImportResource({"classpath*:applicationContext.xml"})
@ImportResource({"/applicationContext.xml"}) // also doesnt work
public class GitHubDetailsApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(GitHubDetailsApplication.class, args);
    }

}

项目树

项目树

applicationContext.xml中

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">

<context:component-scan base-package="pl.cd.githubdetails"/>

</beans>

GitController

package pl.cd.githubdetails;

// imports 

@RestController
public class GitController {

    @Autowired
    GitHttpClient gitHttpClient;
// ...
}

GitHttpClient

package pl.cd.githubdetails;


public class GitHttpClient {
    // imports ...
    private RestTemplate restTemplate;

    public GitHttpClient() {
        this.restTemplate = new RestTemplate();
    }
    // ...
}

编辑我插入堆栈。

2019-09-19 00:25:20.413  WARN 13584 --- [main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'gitController': Unsatisfied dependency expressed through field 'gitHttpClient'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'pl.cd.githubdetails.GitHttpClient' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
2019-09-19 00:25:20.415  INFO 13584 --- [main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2019-09-19 00:25:20.425  INFO 13584 --- [main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-09-19 00:25:20.497 ERROR 13584 --- [main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Field gitHttpClient in pl.cd.githubdetails.GitController required a bean of type 'pl.cd.githubdetails.GitHttpClient' that could not be found.

The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean of type 'pl.cd.githubdetails.GitHttpClient' in your configuration.

#1楼 票数:2 已采纳

您的控制器期望将注入一个GitHttpClient类型的bean:

@Autowired
GitHttpClient gitHttpClient;

但是没有这种豆。 为什么? 因为您尚未将类GitHttpClient注释为Spring Bean。 你能做什么? 将其注释为ServiceComponent

@Service
public class GitHttpClient {
    ...
}

  ask by Czarek translate from so

未解决问题?本站智能推荐:

1回复

无法加载ApplicationContext(Spring Boot)

我正在尝试通过Spring网站上的示例测试我的应用程序。 这些是我的依赖项: 这是测试类: 我收到错误: org.springframework.beans.factory.BeanCreationException:创建在类路径资源[org / springfr
1回复

在春季测试中无法加载ApplicationContext

注意:这不是重复的,因为所有其他问题都不能解决我的问题。 我正在使用Gradle构建Spring应用程序。 所有测试都可以单独成功运行,但是当我进行gradle-> test时,它们会收到此错误... 我该如何解决这个错误? 我尝试做@DirtiesContext ,但这
2回复

无法在 Spring Boot 测试中加载 ApplicationContext

当我尝试编译和打包(通过mvn package命令)来自“Learning Spring with Spring Boot”课程的以下项目时,默认且唯一的测试失败并抛出 java.lang.IllegalStateException。 我试图做一个 mvn clean,没有运气。 pom.xml
1回复

Spring4启动单元测试@ActiveProfiles导致无法加载applicationContext错误

我想提供与运行默认生产数据库不同的数据库来运行unitTest。 我考虑过使用配置文件来解决此问题。 这是spring4引导项目,因此所有内容都带有注释。 这就是我在做什么: 在src / main / resources下,我放置了application.properties :
1回复

Spring WebFlux 测试抛出“IllegalStateException:无法加载 ApplicationContext”异常

我创建了一个简单的 Spring WebFlux REST api,我想编写测试用例来测试它端到端(无模拟)。 但它正在抛出错误消息。 这是我的课。 休息控制器类 休息控制器测试类 但我收到以下错误消息。 如何解决问题?
2回复

运行Spring启动集成测试时无法加载ApplicationContext

我正在尝试为spring boot编写集成测试。 我希望服务器在测试期间应该启动,以便我可以从测试代码连接客户端。 使用java 1.7 。 我作为maven测试运行时遇到异常。 (从控制台) 我的Pom.xml 集成测试代码 应用配置: 它无法加载应用程
1回复

春季:无法加载applicationContext?

我的项目具有service模块,该模块在src/main/resources路径上具有applicationContext.xml 。 我使用maven-cargo插件运行集成测试,依赖项看起来像 我运行集成测试为 我看到错误为 虽然我看到那个文件
1回复

无法在Spring中加载ApplicationContext

无法加载应用程序上下文以下是我的Spring配置文件: spring-context.xml 下面是错误日志