Junior — Middle
Колко инстанции на контролера се създават в Spring MVC при използването му?
sobes.tech AI
Отговор от AI
В Spring MVC контролерите по подразбиране са сингълтони, което означава, че за всеки контролер се създава точно един екземпляр през целия жизнен цикъл на приложението. Това се дължи на управлението на биновете на контролерите от контейнера Spring и тяхното създаване с scope singleton, освен ако не е указано друго.
Този подход позволява ефективно използване на ресурсите и осигурява потокобезопасност при правилна реализация на контролера (без състояние, зависимо от заявката). Ако е необходим друг scope, като prototype или request, това може да се укаже с анотацията @Scope.
Пример:
@Controller
@Scope("singleton") // по подразбиране
public class MyController {
// методи за обработка на заявки
}