![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/6pJB3/btqFygh6O8U/Qw85YQJvGMsbDiN3R2iz21/img.png)
1. 스프링 개발의 기본 중에 하나가 테스트이다. 간단하게 몇 가지 메모해 준다. 2. junit 테스트 2-0 maven archetype quickstart 1.4로 생성하니 junit 4.11로 dependency가 생성된다. junit junit 4.11 test 2-1 대상 클래스 package pe.pilseong; /** * Hello world! * */ public class MyMath { int sum(int[] numbers) { int sum = 0; for (int i : numbers) { sum += i; } return sum; } } 2-2 테스트 클래스 2-2-1 일반적인 테스트는 기대값과 결과 값의 단순 비교이다. 2-2-2 아래 같이 assert를 기본으로 사용한다...
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bbKudV/btqFwiUPMsr/BhEEn44e9y1lyH9AZ2NUNk/img.png)
1. 아직도 xml 형식으로 데이터를 제공하는 곳이 많긴 하지만 별로 사용되지 않는 것 같다. 2. json외에 xml로 서비스를 요청하면 2-1 Accept 헤더에 application/xml로 서비스를 요청하면 406 not acceptable로 반환된다. 3. 해결 방법은 jacson dataformat xml dependency를 추가하면 된다. 3-1 스프링 부트의 경우에는 호환되는 jackson의 버전을 자동지정하므로 version정보는 삭제해야 안전하다. com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.11.1 4. xml 반환 값
1. 스프링에서 View를 사용하는 방식은 이미 철지난 이야기이지만 그냥 붙여둔다. 2 우선 Error handler를 위한 Controller을 하나 만든다. 2-1 모든 에러는 error.jsp로 넘기고 있다. 2-2 필요하면 여기서 데이터베이스에 에러를 저장하거나 하는 작업을 한다. package pe.pilseong.steps.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.Exceptio..
0. Date를 변환하고 싶은 경우는 아래 링크를 참고한다. Spring Basic : Form을 Date, LocalDate로 변환하기 0. Form에서 전송한 데이터를 Date로 변환이 필요한 경우가 많다. 워낙 다양하기 때문에 생각 날 때마다 추가할 예정 form에서 Parmater로 받아 Controller에서 Date로 변환하는 방법 (LocalDate에도 사용가능� kogle.tistory.com 1. InitBinder는 스프링 MVC가 나오면서 부터 지원한 오래된 기술이다. 2. 현재는 나중에 나온 Converter를 많이 사용하기는 하지만 여전히 유용한 기술이다. 3. @InitBinder의 목적은 View에서 입력한 Form에 객체정보를 Controller의 객체로 변환할 때 3-1 적..
1. WebJars는 jQuery나 Bootstrap같은 static 라이브러리를 다운로드하고 설치하는 번거로움을 제거해 준다. 2. 문제는 인터넷을 찾아보면 사용하는 코드는 있는데 설정하는 방법은 잘 나오지 않는다. 3. 일반적으로 mvn repository에서 찾아 pom.xml에 붙이면 동작하는데, 가끔은 404에러가 뜨고 찾지 못할 때가 있다. 3-1 이전에는 되었는지는 모르겠지만 내가 webjar를 사용하기 시작한 스프링 부트 2에서는 돌아가지가 았았다. 3-2 내가 알기로도 아래 경로는 기본적으로 그냥 돌아가는 것이 맞다. webjars는 META-INF/resources로 되어 있다. classpath:/static classpath:/public classpath:/resources/ cl..
1. main method 1-1 프로그램을 실행하기 위해 JVM이 사용하는 표준 메소드이다. 1-2 public static 이유 - JVM이 public이 아닐 경우 접근할 수가 없고 static이 아니면 객체가 없으므로 접근할 수 없다. 2. main method 없이 프로그램 실행 2-1 자바 7 이후로는 불가능하다. 2-2 자바 7이전에는 static initialiser라는 방식이 있어 main method없이 가능했다. public class Main { static { system.exit(0); } } 2-3 Servlet이나 EJB 같은 프레임워크는 자체 lifecycle이 있어서 별도의 main이 필요 없다. 3. main메소드의 signature는 변경가능한가 3-1 불가능하다. J..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/mdATJ/btqFp5OMIKj/kqc9srXkK9FApajlnsNCfK/img.jpg)
1. Identifier - 클래스, 메소드, 패키지, 속성, 변수 등을 식별할 수 있는 식별자 - 대소문자 가림 public class Demo { public static void main(String args[]) { int i = 20; } } 1-1 Demo, main, String, args, i 5개의 identifier가 있다. int는 keyword이다. 1-2 [A-Z], [a-z],[0-9], $, _ 사용가능. 첫글자는 숫자를 허용하지 않음 1-3 reserved name은 허용하지 않음 1-4 클래스 이름을 identifier로 사용가능함 String String = "TEST" 2. reserved words 2-1 literals, keywords 3. keywords 3-1 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cF2eAE/btqFoCl1xsQ/E3SIwo1IxtkeINKLgn8IFk/img.png)
0. 이 포스트는 이전 Fooball club예제를 REST로 다시 작성하는 시리즈의 일부이다. 1. 적용된 테크닉 1-1 JWT 생성 및 검증 1-2 OncePerRequestFilter 생성 및 등록 1-3 AuthenticationEntryPoint 작성 2. 이 포스트에서 할 내용 2-1 보안 설정하기 2-2 인증용 컨트롤러 만들기 2-3 JWT 유틸리티 생성하기 2-3 인증용 endpoint 작성하기 2-4 JWT 검증용 필터 작성하기 3. 보안설정하기 3-1 지난 포스트에서 안보이던 JwtRequestFilter가 보인다. 이것은 Request마다 JWT 검증용으로 사용한다. 3-2 필요한 곳에 인증을 적용하기 위해 skills, players, teams에 대한 접근을 USER권한 이있는 사..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- Spring
- hibernate
- 스프링부트
- Many-To-Many
- 설정
- 설정하기
- Angular
- RestTemplate
- crud
- Security
- 외부파일
- XML
- 로그인
- spring boot
- 상속
- WebMvc
- jsp
- Rest
- Spring Security
- 매핑
- 하이버네이트
- mapping
- one-to-many
- MYSQL
- 자바
- Validation
- form
- 스프링
- one-to-one
- login