item 프로젝트에서 배울 것

전영덕·2023년 4월 30일
0

Springboot

목록 보기
7/13
  • BasicController.java
    @PostConstruct - 시작하는 시점에 호출되는 메서드
    @PreDestroy - 종료되는 시점에 호출되는 메서드
//시작하는 시점에 호출되는 메서드이다. 
	@PostConstruct
	public void init() {
		System.out.println("이닛 메서드 시작");
		itemRepository.save(new Item("testA5", 15000, 15));
		itemRepository.save(new Item("testB5", 25000, 25));
	}
	//종료되는 시점에 호출되는 메서드이다.
	@PreDestroy
	public void destory() {
		System.out.println(" 프로젝트 종료 메서드 호출");
	}

@PathVariable - 경로 중에서 변수를 받아오는 방법

@GetMapping("/{itemId}")
	public String item(@PathVariable long itemId, Model model) {
//		System.out.println("itemId" + itemId);
		Item item = itemRepository.findById(itemId);
		model.addAttribute("item", item);
		return "basic/item";
	}
  • url 에 담긴 변수를 받는 방법으로 @RequestParam과 @ModelAttribute가 있는데 @ModelAttribute가 상당히 똑똑하다. 저거마저도 생략할 수는 있지만 아래와 같은 방법으로 코딩하도록 하자.
	@PostMapping("/add")
	public String save3(@ModelAttribute("item")Item item) {
		itemRepository.save(item);
		return "basic/item";
	}
  • Get방식과 Post방식의 차이만으로 인해 같은 url이지만 BasicController에서 다른 리턴값으로 보내는 방법이있다.
    당연히 html파일에서 th:action method="post"를 해야한다.

0개의 댓글