Spring 이라기보다 Java에서 원래 제공하던 놈(javax) 중에@Valid 라는 것이 있다.Spring에서는 해당 @Valid를 Validator라는 인터페이스로 지원을 하고 있다.이는, 해당 Object 내의 field들을 검사해서 NULL인지 혹은 타입체크(
맨날 햇갈려 했던 부분에 대한 좋은 글이 있어서 가져와봤다. @RequestParam @RequestParam은 1개의 HTTP 요청 파라미터를 받기 위해서 사용한다. @RequestParam은 필수 여부가 true이기 때문에 기본적으로 반드시 해당 파라미터가 전송되어
예전부터 대략적으로 알기는 했지만 확실히 알지 못한 부분이다. 이번 기회를 통해 알아보자Dependency Injection 의존성 주입 의 약자이다. 이런 형식의 클래스가 있다고 해보자. 왼쪽은 A객체를 만들면 b가 생성되는 일체형!오른쪽은 외부에서 b를 끼워 넣는
Spring에서 API 구현시 주로 사용되는 @ResquestBody, @ResponseBody 어노테이션의 개념 대해 확실하게 알고 넘어가자.예를들어 웹페이지에서 json으로 request한 파라미터들을 java에서 받으려면 java object로의 변환이 필요하며
항상 엔티티에서 뷰단으로 넘어가면서 dto ->Entity / Entity -> Dto로 변환이 반복적이고 귀찮아서 뭐좋은거 없나 하다가 찾던도중에 하나를 발견해서 포스팅한다!http://modelmapper.org/객체의 프로퍼티를 다른 객체의 프로퍼티로
매번 개발자가 코드를 수정하고 빌드와 테스트를 하고 배포까지 한다면 상당히 많은 시간이 소요됩니다. 하지만 git에 코드를 올리는 것만으로도 누군가가 빌드와 테스트, 배포까지 해준다면, 쓸데없는 시간을 단축시키고 개발에 더 많은 시간을 투자할 수 있을겁니다.이번에는
링크텍스트
ModelMapper-converter
Gradle plugin
예전에 정적인 페이지만 호출할수 있었다면 시간이 지남에 따라 동적인 페이지도 필요로 하게 된다.1.WebServer - CGI = CGI는 요청이 올때마다 프로세스가 생성된다. (쓰레드 보다 훨신무겁고 느리다)= 요청이 올때마다 같은 구현체를 사용해도 다른 쓰레드면
필터,인터셉터 사용이유 로그인을 하고 들어와야하는 사이트에 악의적으로 url만 입력하고 들어오는 경우가 있을수도 있다. 이것을 막기위해 우리는 필터,인터셉터를 사용할 예정이다. > 로그인을 했는지 안했는지 체크하는 로직은 애플리케이션 모든 부분의 공통관심사(cros
오류 페이지는 단순히 고객에게 오류 화면을 보여주고 끝이지만, API는 각 오류 상황에 맞는 오류 응답 스펙을 정하고, JSON으로 데이터를 내려주어야 한다.서블릿을 사용할꺼라 -> 저번에 만든 new ErrorPage간단 컨트룰러 작성 Http header Accep
작업을 하다보면 문자를 숫자로 , 숫자를 무문자로 바꿔야 하는 경우가 있다. 그럴때는 컨버터 를 사용해주자.http 요청 파라미터는 모두 '문자' 로 넘어온다. 그래서 원하는 타입으로 바꿔서 사용하길 원하면 추가적인 코드가 필요MVC 에서 제공하는 @RequestPar
파일을 업로드 하려면 파일은 문자가 아닌 바이너리 데이터로 전송해야 한다. 문자와 바이너리를 동시에 전송하는게 일반적 이다.다른 종류의 여러 파일과 폼의 내용을 함께 전송할 수 있다.각각 part들은 헤더와 바디값을 따로따로 갖는다.Content-Disposition이
너무 흥미로운 글을 발견해 포스팅한다. 너무너무 유용하고 재밌는 글내가 가려웠던 부분을 시원하게 긁어주는 글이였다.RequestBbody/ModelMapper
스프링 부트로 개발을 시작했으며 지금까지 당연하게 그냥 써왔다. 이번 기회에 스프링부트에 조금더 깊게 파악해보자스프링을 편리하게 사용할 수 있도록 지원,최근에는 기본으로 사용 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성관례에 의한 간결한 설정=> 기존 스
스프링부트의 장점을 알아보기위해 저번시간에 부트의 내장 톰켓을 사용하지않고 톰켓을 직접깔고,서블릿,서블릿컨테이너, 스프링컨테이너, 디스패쳐서블릿 과 스프링컨테이너 연결 까지 해봤다.이제 부트의 장점중 하나인 내장톰켓에 대해 알아보자 기존 톰켓은 따로 설치해줘야하며 버전
스프링 부트는 자동 구성(Auto Configuration)이라는 기능을 제공하는데, 일반적으로 자주 사용하는 수 많은 빈들을 자동으로 등록해주는 기능ex: JdbcTemplate, DataSource, TransactionManager..@AutoConfigurati
하나의 애플리케이션을 여러 다른 환경에서 사용할때 사용 (Ex: 개발서버,운영서버)과거예전 방식은 그 애플리케이션에 해당하는 외부 설정값을 넣어준뒤 빌드해서 사용한다OS환경 변수자바 시스템 속성 : JVM안에서 사용자바 커맨드 라인 인수 : 커맨드 라인에서 전달하는 외
컨벤션 이름 변수는 그냥 길게 쓰기 (줄여서 x) 축약어 대문자로 x (ex: API, OIDC) 유의미한 단어 사용 (ex: Simple/ Light/Base) 되도록 Util단어 사용x 왜냐하면 모드 static이 모이게 됨 동사 find = return t
성능테스트 보통 처리량(Throughput)과 지연시간(Latency)을 엮어서 같이 측정한다 왜냐하면 처리량이 낮을때는 지연시간이 낮다가, 처리량을 높아지면 지연시간이 높아지는 경향이 있기 때문 서버자원 실행파일 exe, jar..etc 프로그램이 실행되면 그게