반응형
오늘은 ModelAttribute에 대해서 알아보자

우선 HelloData란 클래스가 있을때
참고로 @Data는 Lombok어노테이션으로 @Getter , @Setter, @ToString 등등 을 간단하게 제공해준다
이전까지는 @Getter 따로 @Setter따로 해줘야 되는줄 알았지만 참 편리해 보인다 .
@ModelAttribute 사용하기 전

파라미터를 @RequestParam을 활용해서 값을 받아와서
HelloData 클래스 파일에 대한 객체를 만들고
결국 Setter로 하든 생성자로 주입을 시켜주는 만들고 리턴을 하게 된다.
하지만 이코드 마저도 안써도 된다.
어떻게 ? ModelAttribute를 사용한다면.
@ModelAttribute 사용 후

굉장히 당황스럽겠지만 끝이다.
@ModelAttribute 가 HelloData에 대한 객체를 만들어주고
파라미터이름으로 (HelloData) 객체의 프로퍼티를 찾아 생성자든 Setter든 활용해서 파라미터의 값을 입력(바인딩) 한다.
그냥 위에 있는 코드를 대신해주는 어노테이션이다.
상당히 낯설지만 우선 편리해 보인다.
진짜 그냥 대신 객체 생성후 값도 대신 입력 해주는 편리한 에노테이션
심지어 @ModelAttribute를 생략 후

이렇게 사용해도 지장없다 .
프로퍼티란 ?
객체에 getUsername() , setUsername() 메서드가 있으면
이 객체는 username이라는 프로퍼티를 가지고 있는 것이다.
반응형
'Spring' 카테고리의 다른 글
[Spring] @RequestBody HTTP 메시지 바디 처리하는 어노테이션 (0) | 2023.08.18 |
---|---|
[Spring] @RequestParam 요청 파라미터 데이터 읽어오기 (0) | 2023.08.17 |
[Spring] 데이터베이스 스키마 자동 생성하기(DDL) (0) | 2023.08.06 |
[Spring] 영속성 컨텍스트의 이점 (0) | 2023.08.05 |
[Spring] JPA기초 (0) | 2023.08.04 |