What's the difference between declaring a controller with the Spring Controller stereotype versus as a subclass of the AbstractController?

StackOverflow https://stackoverflow.com/questions/3594833

Question

What's the difference between declaring the TestController with the Spring Controller stereotype like this:

import org.springframework.stereotype.Controller;
//...
@Controller
@RequestMapping("/test")
public class TestController

versus as a subclass of the AbstractController like this:

import org.springframework.web.servlet.mvc.AbstractController;
//...
public class TestController extends AbstractController
Was it helpful?

Solution

The obvious difference is that with annotations you do not depend on any specific API.

Annotation configuration is available since Spring 2.5 and both configuration give you pretty much the same result. As of Spring 3.0 you cannot use second type of configuration (there simply no classes to extend) and so annotations is all you have.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top