일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Java
- JSON
- 개발시작전 자세
- 하모니카 OS 5
- Intellij
- 함수 인자값 id
- 시퀀스 조회
- 스프링부트
- 순서 보장
- BindingResult
- 설정
- 비밀번호 변경 명령어
- StringUtils.hasText
- 타임리프
- 명령어
- 자바스크립트 인라인
- 다른사람 프로젝트 수정전 가져야할 자세
- 추천 프로그램
- linux
- #{..}
- 프로젝트 클린
- select
- it
- js
- 타임리프와 스프링
- 리눅스
- 룸북
- Test 룸북 사용하기
- cmd
- 추천 사이트
- Today
- Total
목록◆SPRING/정리 (8)
웹개발 블로그

Method Arguments :: Spring Framework Method Arguments :: Spring Framework JDK 8’s java.util.Optional is supported as a method argument in combination with annotations that have a required attribute (for example, @RequestParam, @RequestHeader, and others) and is equivalent to required=false. docs.spring.io 파라미터를 유연하게 처리할 수 있는 이유는 ArgumentResolver 때문임!

실무에서는 스프링 빈으로 등록할 클래스는 인터페이스가 있는 경우가 있고 없는 경우도 있다. 그리고 스프링 빈을 수동으로 직접 등록하는 경우도 있고, 컴포넌트 스캔으로 자동으로 등록하는 경우도 있다. 보통 @RestController @Controller ( ※스프링부트 3.0 미만부터는 @RequestMapping 또는 @Controller를 사용하면 됐었는데 3.0이상부터는 @Controller를 사용해야한다.) @Service @Repository 이 애너테이션을 사용함으로써 스프링 빈으로 자동 등록하게 뒀다 (타고 들어가보면 @Componet 애너테이션을 가지고 있어 컴포넌트 스캔의 대상이된다.)
https://offbyone.tistory.com/24
https://gardeny.tistory.com/36 spring - validation (유효성 검사) 하기 Validation을 해보자 웹 개발을 하다 보면 서버에 들어온 요청이 서버에서 요구하는 스펙에 잘 맞게 들어왔는지 검사해야 할 필요가 있습니다. 예를 들어 회원가입을 할 때 이름은 필수로 들어와야 gardeny.tistory.com 스프링 org.hibernate hibernate-validator 6.1.5.Final 스프링부트 build.gradle 파일 dependecies 에 추가 implementation 'org.springframework.boot:spring-boot-starter-validation' Bean Validation ㄴBean Validation을 잘 활용하면, ..
Content-Type: application/x-www-form-urlencoded 사용 • form의 내용을 메시지 바디를 통해서 전송(key=value, 쿼리 파라미터 형식) • 전송 데이터를 url encoding 처리 • 예) abc김 -> abc%EA%B9%80 파일을 업로드 하려면 파일은 문자가 아닌 바이너리 데이터를 전송해야한다. 그리고 폼에다가는 제목 그리고 첨부파일 등록하는 것 처럼 폼을 전송 시에는 파일만 보내지 않는다는 점이다. 그래서⬇️ Content-Type: multipart/form-data • 파일 업로드 같은 바이너리 데이터 전송시 사용 • 다른 종류의 여러 파일과 폼의 내용 함께 전송 가능(그래서 이름이 multipart) 전송 enctype="multipart/form..
import static org.assertj.core.api.Assertions.*;
웹 어플리케이션 사이즈가 커지게 되면 한번에 변경하기가 용이하지 않다. 메시지 기능을 사용하면 한번에 관리하기 편해지겠지!

판매 오픈 #체크박스 체크 open=on&_open=on 체크 박스를 체크하면 스프링 MVC가 open에 값이 있는지 확인하며 이때 _open은 무시한다. #체크박스 미체크 _open=on 체크 박스를 체크하지 않으면 스프링 MVC가 _open만 있는 것을 확인하고 open의 값이 체크되지 않았다고 인식한다. 이 경우 서버에서 Boolean 타입을 찍어보면 결과가 'null'이 아닌 'false'인 것을 확인할 수 있다. 결과 보기 => log.info("item.open={}", item.getOpen()); @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes) ..