90% @GetMapping은 url입력하면 보여줌
10% @PostMapping은 post요청이 발생해야만 동작함 데이터를 수정,저장
@Component
공유 객체 : 요리가 여러개여도 요리사는 한명만 있으면 되니까 하나만 만들겠다는 의미
-> @Autowried로 연결시켜줌
@Service,@Repository는 @Component랑 똑같음(비슷함)
@Controller는 @Component에 기능이 더해져서 좀 다름
생성자주입 ,@AutoWired 차이
생성자 주입방법으로는 변수에 final을 붙일 수 있음
변수를 먼저 만들고 set하려면 이미 null이 들어가서 못바꿈
필드에 @AutoWired를 붙이면 편하지만
생성자를 따로 만들어주면 순환의존성문제(결국 자기 자신을 의존하는 것) 스프링이 찾아주고
무엇을 할 때 필요한지 알 수 있게 만들 수 있다.
@RequiredArgsConstructor
final이붙은 필드를 매개변수로 받는 생성자를 자동으로 생성해줌
@RequestScope + @Component
가 붙은 객체는 요청이 처리되는 동안만 유지되고 사라진다.
요청을 담아두는 rq객체에 사용된다.
요청당 하나만 존재하는 객체들에게 붙는다.