1

次のように Autowire オプションをテストしようとしています。

@ContextConfiguration(locations = { "classpath:applnContext.xml" })
public class Foo {
    @Autowired
    private Bar bar;

    public Bar getBar() {
        return bar;
    }

    public void setBar(final Bar bar) {
        this.bar = bar;
    }

    public static void main(final String[] args) {
        final Foo f = new Foo();
        System.out.println(f.getBar());
    }
}

および構成ファイル:

<?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-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <bean id="bar" class="entity.Bar"></bean>
    <context:annotation-config />

</beans>

しかし、Barオブジェクトは注入されていません。ここで何か不足していますか、何か間違っていますか?

クラスの注釈を使用して applicationContext ファイルを指定していることに注意してください。

4

2 に答える 2

4

これが単体テストの場合は、見たところ、追加します

@RunWith(SpringJUnit4ClassRunner.class)

そして、applicationContext.xmlこれを忘れないでください(この場合は問題ではありませんが)

<context:component-scan base="org.basepackage" />
于 2010-09-10T10:44:06.100 に答える
2

@ContextConfiguration属性はパッケージの一部であるためorg.springframework.test、使用しようとした方法では機能しません。詳細については、Spring フォーラムのこの投稿を参照してください。

于 2010-09-10T10:34:38.640 に答える