2011-07-30 18 views

答えて

1

Controllerの中に@Autowiredと、@Qualifier注釈を使用してください。アノテーションを使用してオートワイヤリングする必要がある他のクラスと同じです。コンポーネントスキャンをコンテキストXMLに入れてください。

+0

そして、単純なプロパティの代わりに、豆の依存関係を[値] @ 'を忘れないでください。 –

+0

あなたは、AutowiredまたはSpringに組み込まれている他の注釈を使用します。コントローラにサービスインスタンスまたはリポジトリインスタンスのみが必要な場合は、自動スキャンでそれを処理する必要があります。私はあなたの気にしないことを理解していません。それは私には意味がありません。 – duffymo

+0

autowiringせずにできるかどうか教えてください。 – Neel

6

@Autowiredアノテーションを避けたいのですが、アノテーションスタイルのSpringMVCコントローラを使用したいと思っています。両方を使用する必要はありません。 Beanは、他のXMLと同様にXMLでインスタンス化できます。私はあなたに下の例を挙げます。しかし、他のサービスではないなら、少なくともコントローラのために@Autowiredを使うことをお勧めしたいと思います。コードを作成して読みやすくすることができます。コントローラからしか使用しない限り、複雑で相互に依存しないようにしてください。

XMLで
@Controller 
public class MyController { 

    private String field; 

    public void setField(String field) { 
     this.field = field; 
    } 

    @RequestMapping("/Wooo") 
    public String handler(ModelMap model) { 
     model.addAttribute("thefield",field); 
     return "fieldViewer"; 
    } 

} 

そして:

<bean class="com.mything.MyController"> 
    <property name="field">waffles</property> 
</bean> 

<mvc:annotation-driven/>