Sobes.tech
Junior — Middle

How is controller initialization and configuration carried out within the Spring Framework?

sobes.tech AI

Answer from AI

In Spring Framework, controllers are usually initialized and configured using annotations. The main annotation for a controller is @Controller or @RestController (for REST APIs).

Example of basic controller setup:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyController {

    @GetMapping("/hello")
    @ResponseBody
    public String sayHello() {
        return "Hello, Spring!";
    }
}

Spring automatically scans classes with the @Controller annotation (if component scanning is enabled) and creates their instances as beans in the application context. Route configuration is done using annotations like @RequestMapping, @GetMapping, @PostMapping, etc.

For more complex setups, you can use:

  • Dependency injection via @Autowired
  • Method parameters to get data from requests
  • Configuration via XML or Java Config, but annotations are the most common way.

Thus, initializing a controller involves declaring a class with the appropriate annotation, and configuration involves defining methods with route annotations and parameters.