使用Spring Controller构造型声明控制器与作为AbstractController的子类之间有什么区别?

Gar*_*ord 5 java spring spring-mvc stereotype

宣告TestController与Spring Controller构造型之间的区别是这样的:

import org.springframework.stereotype.Controller;
//...
@Controller
@RequestMapping("/test")
public class TestController
Run Code Online (Sandbox Code Playgroud)

与作为AbstractController的子类,如下所示:

import org.springframework.web.servlet.mvc.AbstractController;
//...
public class TestController extends AbstractController
Run Code Online (Sandbox Code Playgroud)

Geo*_*uba 3

明显的区别是,使用注释,您不依赖于任何特定的 API。

自 Spring 2.5 起,注释配置就可用了,两种配置都会给你几乎相同的结果。从 Spring 3.0 开始,您不能使用第二种类型的配置(根本没有可扩展的类),因此注释就是您所拥有的一切。