week_05 SpringBoot 2/?
오늘은 그냥 수업 메모
git checkout file_path : 해당 파일을 직전 커밋 상태로
git checkout -f . : 전체 수정을 직전 커밋 상태로
git clean -fd : 직전 커밋 이후 추가된 파일 삭제
git reset : add 지우기 (작업 중인 내 로컬은 그대로)
git reset --hard : add 지우고 작업 중인 로컬도 최근 커밋 상태로
git reset HEAD : 이전 커밋으로 HEAD 옮기기. HEAD^^^ 등으로 단계 조절 가능
div 말고 form으로 해야 + a 말고 button으로 + button-onclick 아니고 form-onsubmit 으로
= 엔터 전송을 위해서
-> button에서 onclick 하면 각 input에서 엔터 쓰기 위해 event.keyCode 어쩌구 해야함
-> form에 onsubmit으로 처리하면 form 어디서든 엔터만 쓰면 전송이 됨.
form은 본질적으로 (동적) URL 생성기임
조회 말고는 웬만하면 post 쓰자... 조회는 get 사용
클래스 객체 = new 클래스(new 다른클래스); 로 만들때는 해당 객체를 final로 설정 가능.
그 값에 null이 들어갔다가 바뀌는게 아니니까.
실무에서는 필드 주입 보다 생성자 주입 선호. final 쓸 수 있어서.
해당 클래스에 생성자가 하나뿐이면 @Autowired 생략 가능
공유객체가 빈 입니다.
@component 붙인 클래스의 객체 => 빈
USER - controller - service - repository
고객 - 접수/응대 - 처리 - 저장
@Component 넣기 애매하면
@Configuration 넣은 클래스를 하나 만들어서
그 안에 @Bean으로 재활용 객체를 만들어라...
스프링부트 안에는 공유객체를 모아두는 곳이 있다.
여기 넣는 방법 1. @Component 붙이기 2. @Configuration @Bean 붙이기
@RequestScope는 그 기한이 매우 짧음.
매번 해당 request에 응답하고 나면 사라짐.
요청 받음 -> 필터 > 인터셉터 > 컨트롤러 > 타임리프 > 인터셉터 > 필터 -> 응답함
그 안에서는 이런 과정을 거침. Rq 객체는 이 과정 안에서만 유지됨.
[[${rqToString}]] == <span th:text="{rqToString}"></span> == <th: block th:text="{rqToString}"></th: block>