Spring3の文書、The IoC container、@Named
アノテーションは、@Component
注釈と同等の標準です。 @Repository
以来Spring MVCの@Named注釈
、@Service
、および@Controller
はすべて@Component
あり、私はSpring MVCのアプリケーションでそれらのすべてのために@Named
を使用してみました。それはうまく動作します。しかし、@Controller
の置き換えにバグがあるようです。コントローラクラスでは、もともとは
@Controller
public class MyController{
...
}
でした。
"No mapping found for HTTP request with URI ...".
しかし、私は従う
@Named
@RequestMapping
public class MyController{
...
}
としてクラスに@RequestMapping
を追加した場合に予想されるように、それは働くだろう:私は@Controller
@Named
から
@Named
public class MyController{
...
}
を変更した場合はエラーで失敗しました。
@Repository
と@Service
については、私は単に@Named
に置き換えても問題ありません。しかし、@Controller
の交換には余分な作業が必要です。設定に欠けているものはありますか?
DAOなど、別にそれはコントローラのような豆の種類について春に余分な情報を与えることから、春の豆を宣言するため、主にジェネリックBeanインジェクションのために '@ Component'を置き換えることができますが、Spring MVC固有の機能で' @ Repository'、 '@ Service'、' @Controller'を使用する必要がありますか? –
@dinoようこそ。あなたが他の詳細とのより多くの回答を待っていない限り、この回答を受け入れることを検討してください。 –