Spring2.5版ではコントローラーの種類が多いのですが、@controllerを使った場合Spring内部で実装するコントローラーはどのようなものでしょうか? そして、春はどのコントローラーを実装するかをどのように決定しますか?
質問する
1945 次
1 に答える
2
簡単な答え: @Controller が内部でどのように実装されているかは問題ではありません。
長い答え:
まず、リファレンス マニュアルを読んで、主にアノテーションに基づく API を理解する必要があります。AbstractController
などはありませんSimpleFormController
。重要な文:
注釈は、特定の
@Controller
クラスがコントローラーの役割を果たすことを示します。Spring では、コントローラーの基本クラスを拡張したり、サーブレット API を参照したりする必要はありません。
「Spring MVC 2.5 の考え方」を放棄し、次@Controller
のような注釈が付けられた Bean を定義する必要があります
@Controller
public class ClinicController {
private final Clinic clinic;
@Autowired
public ClinicController(Clinic clinic) {
this.clinic = clinic;
}
@RequestMapping("/")
public void welcomeHandler() {
}
@RequestMapping("/vets")
public ModelMap vetsHandler() {
return new ModelMap(this.clinic.getVets());
}
}
それらを通常の Bean として使用するだけです ( servlet.xml に追加することにより<bean class="com.example.ClinicController " />
)。この方法の方がはるかに簡単です。
于 2012-09-12T13:59:02.590 に答える