当前位置: 首页 > 面试题库 >

将XML和Java配置与Spring混合

郭永怡
2023-03-14
问题内容

我正在构建一个新的应用程序,该应用程序通过java配置而不是xml配置spring。此应用程序依赖于使用xml样式配置的模块。当我尝试启动我的应用程序时,出现以下错误:

No qualifying bean of type [com.myModule.myServiceImp] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

该bean应该在模块的applicationContext.xml中声明。处理此问题的正确方法是什么?我尝试简单地添加它,就像我在应用程序的web.xml中将应用程序上下文串联在一起时一样:

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:com/myModule/appbase-context.xml
            com.myApp.AppConfig
        </param-value>
    </context-param>

但是我仍然遇到同样的错误。正确的方法是什么?


问题答案:

在配置类中,可以通过@ImportResource注释导入xml配置。

像这样:

@Configuration
@ImportResource({"classpath:appbase-context.xml"})
public class AppConfig {
    // @Bean definitions here...
}

请记住,当您使用Spring的Java配置时,需要指定一个附加名称context-param,该附加名称表示用于您的应用程序上下文的类:

<context-param>
    <param-name>contextClass</param-name>
    <param-value>
        org.springframework.web.context.support.AnnotationConfigWebApplicationContext
    </param-value>
</context-param>


 类似资料:
  • 本文向大家介绍Spring实战之XML与JavaConfig的混合配置详解,包括了Spring实战之XML与JavaConfig的混合配置详解的使用技巧和注意事项,需要的朋友参考一下 前言 之前提到了关于Spring的显示配置方式有两种,一种是基于XML配置,一种是基于JavaConfig的方式配置。对于这两种配置方式并不是互斥关系,相反,他们两能够相互融合,有效的搭配完成Spring的bean注

  • TL;DR 有没有办法将Spring Web Security配置与注释和xml混合使用? 完整故事 对于我们的传统spring web应用程序,我们正在考虑将注释驱动配置用于web安全的一部分。 目前我们所有的网络安全(

  • 我在下面写了Java Config Code,但用于注销和. antMatcher("/约会/"). access("hasRole('USER')")和antMatcher("/计划/"). access("hasRole('ADMIN')") URL是否总是转到/login/failure?错误=true 什么是合适的java cofig代码。请帮助...... }

  • 我正在spring boot中处理一个项目,我需要添加spring integration poller来从某个位置轮询文件,并在该文件上运行spring batch来处理它。 我为此使用了spring批处理集成(文档参考如下) 在spring boot中,我在@configuration文件中成功地配置了我的轮询器,如下所示 这个轮询器是在java配置中定义的,而通道是在xml中定义的,如下所示

  • 我正在使用Spring 3.1.1版的应用程序中工作,现在我需要为其添加一些方面。这些方面是用aspectj语言编写的,没有注释。我已经阅读了Spring docs第8.8章,但我正在努力使其工作。 我的spring配置如下所示: 在我的pom中,是一个Maven项目,我有spring aop、aspectjrt和aspectjweaver作为依赖项。 我的问题是,当启动应用程序时,我得到了一个

  • 在我的Spring MVC项目中,所有的MVC配置都是使用XML完成的。 现在,我正在尝试集成Spring Security性,并添加基于注释的安全性配置(&),扩展。 有可能吗? 我的问题: 例外情况: