1. H2는 스프링 부트에서 기본적으로 지원하는 메모리 기반 데이터베이스이다. nodejs의 sqlite와 유사한데 데이터 파일이 로컬에 생성되지는 않는다. 2. 스프링 부트에서 h2를 사용은 간단하다. 예전에는 그냥 pom.xml에 의존성만 추가하면 사실 동작하였다. 하지만 최근의 스프링 부트에서는 그렇게 하면 웹으로 데이터를 볼 수가 없다. 3. 스프링 부트 3.0.1을 기준으로 3-1 최근 버전의 Spring Security는 기본적으로 보안의 이유로 iframe을 지원하지 않는다. 그래서 추가적인 설정이 필요하다. 3-2 우선 일반적으로 하듯 아래처럼 application.yml에 아래처럼 spring h2 설정한다. logging: level: org.springframework.security..
'어떻게 자바 클래스를 생성하는 것이 좋은방법일까'에 대한 내용이다. WS는 사용해 볼 기회가 거의 없어 그렇게 경험과 지식이 많지 않음을 이해하기 바란다. 1. 가장 최신 버전의 스프링 부트를 사용한다.현재 3.0.1이 최신이다. 스프링 부트 web service starter에는 spring ws가 포함되어 있는데 JAVA WS 구현이 포함되어 있다 .그래서 최신버전의 경우는 jakarta로 시작하는 ws 패키지를 볼 수 있다. Spring boot 2.6까지는 jaxb 모듈이 jakarta 표준을 따르지 않고 예전 버전을 사용하기 때문에 jaxb 2.3.1버전을 사용하여 javax.xml.bind 같이 javax로 시작하는 패키지를 포함해야 한다. 2. 다시 말하면 스프링에서 사용하는 jakarta..
자바와 같은 static 타입 시스템은 개발할 때 편의성이 높지만 메시지를 주고 받는 것에 있어서는 불편한 점이 많다. 모든 메시지의 타입이 미리 지정이 되어 있어야 컴파일 오류가 생기지 않기 때문이다. nodejs로 개발한 것과 비교하면 차원이 다른 불편함이다. 아래는 자바스크립트(타입스크립트)로 작성된 예약정보를 가지고 오는 구문이다. fetchBooking이 서비스 이름이고 내부적으로는 _fetchBooking을 실행하여 동작한다. request에 들어갈 데이터를 만드는 부분을 보면 _setFetchBooking인데 아주 단순하다. 그냥 자바스크립트 객체를 자유롭게 만들면 된다. 그리고 만들어진 데이터를 _fetchBooking에서 보듯 함수에 넣어 보내면 된다. 더 황당한 부분은 client.ad..
Web Service는 xml이라는 것 때문에 쉽지가 않다. 그리고 자바의 JAXB라이브러리가 XML를 마샬링 할 때 발생하는 오류와 그로 인한 영향 때문에 처음에 세팅하는 것이 굉장히 까다롭다. SOAP Header가 있는 경우는 스프링을 아주 잘하지 않는 이상 며칠을 고생할 수도 있다. 클라이언트 개발은 서버로 보내지는 구문이 정상적인지 확인하는 것이 가장 중요하기 때문에 개발은 아래처럼 하면 된다. 1. 어떤 것이 실행되는 검증된 Request구문을 찾는다. 이것은 서비스를 제공하는 곳에서 같이 제공하는 것이 일반적이다. 2. 현재 자바에서 어떻게 xml로 변환되어 보내지고 있는지를 확인한다. 3. 되는 구문과 안되는 구문의 차이점을 찾아내어 자바에서 보내는 xml 구문을 수정하면서 디버깅 한다. ..
0. 스프링을 쓸일이 별로 없는데, 아주 예전 스프링 4.4를 스프링부트로 마이그레이션할 일이 생겼다. 기존의 client 스크립트가 JSP라서 대략 난감이다. 아무튼 인터넷에 찾아보니 제대로 돌아가는 게 없어 이것저것 끌어모아 틀로 사용할 만한 것들 구성하였다. 짜집기 코드라서 내가 만든 것은 아니다. 1. 스프링 부트 initializer에서 Spring Web, Oracle Driver, Lombok 만 선택했다. 패키지는 war로 설정했다. 2. 그런 후 jstl과 tomcat-embed-jasper를 넣었다. 나머지는 initializer에서 알아서 설정해 주었다. 2-1 bootstrap 5.0.1을 webjar로 추가하였다. 4.0.0 org.springframework.boot spring..
1. ResponseStatus는 Controller나 Exception에 사용하여 status 정보를 설정하여 리턴해 준다. * Marks a method or exception class with the status {@link #code} and * {@link #reason} that should be returned. * The status code is applied to the HTTP response when the handler * method is invoked and overrides status information set by other means, * like {@code ResponseEntity} or {@code "redirect:"}. 2. @ExceptionHandler..
1. 파일 업로드를 위해서 우선 파일을 선택할 template이 필요하다. 1-1 아래는 thymeleaf로 작성된 form으로 중요한 부분은 form 테그 부분이다. 1-2 input type이 file이고 전송될 파일의 이름은 name에 지정된 imageFile이 된다. 1-3 파일이므로 post로 메소드를 설정하고 전송할 action에는 파일을 수신처리할 url을 지정한다. Upload a new recipe image Select File Submit 1-4 실행화면 2. 파일을 전송하였으면 수신할 controller가 필요하다. 2-1 아래의 ImageController에는 3가지 메소드가 있다. 2-2 showUploadImageForm 메소드는 이미지를 선택할 ui template을 보내준다..
1. auto configuration은 스프링 부트가 만들어진 중요한 이유 중 하나이다. 1-1 스프링의 설정은 Dependency Injection과 IOC 때문에 코드만큼 늘어날 수 밖에 없는 구조를 가지고 있다. 1-2 예전에는 코드에서 수행했던 모든 의존성에 대한 처리를 프레임워크에서 수행해야 하므로 1-2-1 언제, 어디에. 어떻게 의존성을 주입해야 할지에 대해 모든 기술이 별도로 이루어져야 한다. 1-2-2 이것이 POJO를 가능하게 한 스프링의 장점이지만 반대로 너무 많은 설정은 단점이 될 수 밖에 없다. 1-3 이것을 해결하기 위한 시도로 스프링 부트가 제안되었고, 프레임워크 개발자들이 제안하는 권고를 담고 있다. 1-3-1 즉 많이 사용되는 설정과 인과 관계가 있는 것은 프레임워크에서 ..
- 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
- one-to-many
- Spring
- Security
- RestTemplate
- crud
- jsp
- 스프링부트
- XML
- 하이버네이트
- hibernate
- form
- 자바
- Spring Security
- 매핑
- MYSQL
- Angular
- 설정
- spring boot
- 설정하기
- login
- WebMvc
- 로그인
- Rest
- one-to-one
- Validation
- mapping
- 외부파일
- 스프링
- 상속
- Many-To-Many