Здравствуйте пишу программу и хочу использовать @Service
аннотация.Я всегда писал логическая часть в классе в котором есть аннотация @Controller
меня сказали что нужно писать всю логику в классе у которому есть аннотация @Service
и от сюда нужно прислать данные в контроллер и от туда в jsp
либо html,
не знаю это правильно вообще или нет,где то читал что @Service
аннотация ставят для бизнес логики.Так писал программу точно так же но логическая часть уже в том классе у котором был @Service
аннотация и сразу возникла проблема не могу сделать return"redirect:/в контроллер"
,Я никогда не сделал это может быть что пустил ошибки или этот @Service
вообще нужна для другого решения.Смотрите пожалуйста здесь как можно отправить данные в контроллер.
@service
@Service
public class MainService {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String str(ModelMap map) {
map.addAttribute("user", new User());
return "redirect:/index";
}
@Controller
@Controller
public class MainController {
@RequestMapping(value = "/index")
public String mainController(ModelMap modelMap){
modelMap.addAttribute("newUser",new User());
return "test";
}
}
Вам правильно сказали, всю бизнеслогику стоит писать в сервисах. В вашем случае, бизнес логика это вот эта строка:
map.addAttribute("user", new User());
Её можно вынести в сервис:
@Service
public class MainService {
public void newUser(ModelMap map) {
map.addAttribute("user", new User());
}
}
А в контроллере вызывать её в соответствующем методе.
@Controller
public class MainController {
@Autowired
MainService mainService;
@RequestMapping(value = "/", method = RequestMethod.GET)
public String str(ModelMap map) {
mainService.newUser(map);
return "redirect:/index";
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
В БД сохранены ссылки на исображения которые локально хранятся на устройствеПри открытии лист вью я использую кастомный адаптер который...
Имеется запись вида: List list; В абстрактном классеВ наследниках через конструктор, я его инициализирую
написал учебное приложение: бэк на java(Spring boot), а фронт на angularjsСейчас пытаюсь запустить приложение, томкэт запускается на порту 8080
Я запустил его в какой-то момент, и он был очень очень медленным, однако после того, как я закрыл его и открыл снова, он перестал работать с этой...