Spring XML无法找到我的Spring Java配置类

时间:2015-06-11 21:40:12

标签: java spring maven

所以我一直在为我的大多数bean使用3.2.0.RELEASE Spring XML配置,但现在我遇到了一个独特的情况,即Getters和Setter无法使用(糟糕的遗留代码 - 无法获取围绕它)。

因此,我想使用Spring @Configuration类和XML来解决这个问题。

但是,当我试图读取我的@Configuration类时,我得到“Class Not Found”异常。

  

引起:java.lang.ClassNotFoundException:v1.inventory.item.myJavaConfig

我失败的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:annotation-config/>
    <bean class="v1.inventory.item.myJavaConfig"/>
</beans>

我的@Configuration类看起来像这样:

package v1.inventory.item;

@Configuration
@ImportResource("classpath:v1/inventory/item/baseItemConfigs.xml")
public class myJavaConfig {

    @Autowired
    @Qualifier("parentItem")
    Item baseItem;

    @Bean
    public Item realItem(){
        Item modifiedBean = baseItem;

        modifiedBean.setManufacturer("Fake Setter for Manufacturer");
        modifiedBean.setDesigner("Fake Setter for Designer");

        return modifiedBean;
    }
}

我需要通过ApplicationContext读取它,所以我需要确保找到这些bean。这是Spring 3.2.0.RELEASE的错误吗?还是我的代码?

为了记录,我最后拉入@Configuration(首先用XML扫描parentItem)。

1 个答案:

答案 0 :(得分:0)

我在这里找到了问题。

似乎maven / spring(不确定哪个)没有在我的“资源”目录中查找该文件。只有我的“java”目录。当我将文件移动到“java”目录时,Spring发现文件很好。

传入JUnit的测试现在使用Maven编译器传递(在测试阶段抛出了上述错误)