Здравствуйте пишу программу и хочу использовать @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";
}
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости