私が書いていない古いプロジェクトを更新することが任されています。Spring xmlコンフィグレーションコントローラをAnnotationsに更新する
このプロジェクトは、Spring MVCベースであり、私がよく知らない古いSpring Controller設定を持っています。次のように
コントローラは豆の構成を有しているserviceNameのが
@Service(value=serviceName)
を次のように@Service
で注釈されたクラスを指し
<bean id="controllerName" class="the.project.controller.class">
<property name"serviceName">
<ref bean="serviceName">
</property>
<property name"successView">
<value>viewName</value>
</property>
</bean>
は、これは、XMLコンフィグレーションのための適切な交換ですか?
@Autowired
@Qualifier("serviceName")
ServiceNameImpl serviceName
ここに感謝
編集serviceNameのクラスの組織とのインターフェース
public interface ServiceName {
// methods omitted
}
@Service(value="serviceName")
public class ServiceNameImpl implments ServiceName {
//methods omitted
}
で@Resourceアノテーションは(春3.0.7)私には利用できないとAutowireは、上記のように失敗します(タイプが以下に説明するように期待通りではないように見える)
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching beans of type [the.project.ServiceNameImpl] found for dependency
編集内容を考えれば、私は何を間違えているのですか(この情報を残してお詫び申し上げます)?
正しいです、私は例えばインタフェースおよびその実装のメソッドにアクセスできるようにする必要があり、最後に
serviceName.doSomething(someVar);
トーマス私は重要な情報を残しているようです。あなたの答えを調べて更新することができますか?どうもありがとう 。ここでの目標は、可能な限り多くのxml構成を排除することです。これが最後です。 – stimpy
@stimpy:フィールドは、 'ServiceName':' ServiceName serviceName'型です。ところで、Spring 3.1では、XMLを一切取り除くことができます! –
質問をより詳細に更新しました。余分なラップのための謝罪。 – stimpy