로그인 페이지 뷰 구현
부트스트랩과 Thymeleaf를 활용해서 로그인, 회원가입, 계정찾기 뷰를 미리 구현했다. 아직 Thymeleaf 에 모델을 적용하는 코든는 빈 부분들이 있지만 개발하면서 수정해 나갈 예정이다.
처음엔 진짜 현업에서처럼 동작하는 로그인 시스템을 만드는게 막막했는데, 아직 정말 많이 부족하지만 지난 20일동안 공부하면서 어떤 것들을 공부해야하고 알아야가야하는지 조금은 알게된 것 같다. 지금은 초라한 프로젝트지만 얼른 공부해나가면서 하나둘씩 발전시켜나가고 싶다!!!
생성자에 따른 @ModelAttribute의 동작 방법
Lombok의 @NoArgsContructor 와 @AllArgsConstructor 를 클래스에 명시하고 컴파일하면 각각 매개변수가 없는 생성자와 모든 멤버변수를 매개변수로 받아 초기화하는 생성자를 만들어준다.
HttpServletRequest를 통해서 들어온 요청 파라미터들이 이에 대응되는 핸들러의 매개변수 객체에 바인딩되어 만들어지는 객체를 커맨드 객체라고한다.
이 커맨드 객체는 @NoArgsContructor 와 @AllArgsConstructor 에 따라 아래와 같은 방법으로 커맨드 객체를 만든다.
1. @NoArgsContructor 와 @AllArgsConstructor가 둘다 있을 경우
- 매개변수가 없는 생성자를 호출하고 세터를 호출한다.
2. @AllArgsConstructor만 있을 경우
- @AllArgsConstructor로 만들어진 생성자를 호출하고 그 다음에 세터를 다시 호출한다.
2번과 같은경우엔 생성자를 통해 한번 초기화되기 때문에 세터가 없어도 무방하지만, 1번의 경우에는 매개변수가없는 생성자만 호출하고 세터를 호출하기 때문에 꼭 세터가 필요한 것이다. 이와 같은 경우에는 @NoArgsContructor를 제거하거나 @Setter를 추가해야한다. 객체의 성격에 맞게 구현하면 될 것 같다.
출처: https://steady-coding.tistory.com/489
(스프링이나 자바를 공부하면서 검색하다보면 꼭 하루이틀에 한번씩 이분이 쓰신 글을 만나는데 정말 이해 쏙쏙되게 잘쓰시는 것 같다. 이분처럼 블로그를 앞으로 잘 쓰고싶다!!)
기타
이전에 내가 쓴글을 봤는데 어떤거는 내가 이런걸 언제썼지 할정도로 새까맣게 기억 안나는 글들이 있었다.. 이제 곧 면접도 보고 할테니까 하루에 몇개씩 복습해봐야겠다!!
'TIL' 카테고리의 다른 글
[TIL 2022-2-5] JPA 공부 (0) | 2022.02.05 |
---|---|
[TIL 2022-2-4] Spring JPA 공부 시작!! (0) | 2022.02.05 |
[TIL 2022-2-1] Spring MVC 공부 (0) | 2022.02.02 |
[TIL 2022-1-30] 스프링 MVC 공부, 비트연산자 (0) | 2022.01.31 |
[TIL 2022-1-29] 스프링 웹 MVC 공부 + 정규식 (0) | 2022.01.30 |