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 적..
0. Lombok은 이제 없으면 안될 정도로 중요한 라이브러리가 되었다. 한번씩 혼동될 때까 있어 정리한다. 1. Lombok 소스코드 Generator로 컴파일하기 전에 lombok 모듈을 거쳐 소스코드 생성되고 생성된 코드를 컴파일하게 된다. 2. 기능 2-1 val, var 2-2 @NonNull - 속성이나 생성자에 지정되어 Null 체크를 하여 Null이면 NullPointException을 발생시킨다. 2-3 @Cleanup - finally block의 close를 자동 호출해 준다. 2-4 @Setter, @Getter 2-5 @ToString 2-6 @EqualsAndHashCode - equals, hashCode 메소드를 생성해 준다. 특정한 속성을 제외할 수도 있다. 2-7 @NoA..
1. 이 포스트는 스프링 내장 데이터베이스 H2를 사용할 때 주의할 점이다. 2. 프로그램을 재기동한다고 해서 무조건 저장된 데이터가 삭제가 되는 것이 아니다. 종종 안될 때도 있다. 2-1 제대로 삭제가 되지 않으면 mvn clean으로 프로그램을 완전 삭제하고 mvn spring-boot:run(리빌드)을 실행한다. 3. 주요 키워드가 있어서 사용하면 안되는 단어들이 있다. 예를 들면 order, createdat 같은 것이다. 3-1 order를 테이블 이름으로 사용하면 그냥 에러가 나버린다. 이유도 제대로 설명해주지 않고 에러가 뜬다. 3-2 createdAt를 속성으로 사용하면 created_at을 찾는다. 3-2-1 @Column(name="createdAt")이라고 해도 create_at을 ..
1. 이 포스트는 ConcurrentModificationException 문제에 대한 내용이다. 2. 이 에러는 하나의 스레드가 처리하고 있는 collection 데이터를 다른 스레드가 정보를 변환했을 때 발생한다. 2-1 삭제, 추가 모두 발생한다. 보통은 삭제만 언급되는 경우가 많은데 추가할 때도 발생한다. 3. 쉽게 말하면 collection 데이터를 순회하는 반복구문 실행 중에 그 collection에 데이터가 추가되거나 삭제된 경우다. 4. 해결책 상황에 따라 몇가지가 있는데 공통적으로 적용할 수 있는 방법은 collection 객체의 복제하여 순회에 사용한다. 4-1 아래는 BMI를 계산하는 static 메소드이다. public class BMICalculator { public static..
1. Jackson은 Json과 xml을 자바 객체와 상호 변환해 주는 라이브러리이다. 1-1 내부적으로 자바 클래스의 setter/getter를 호출하여 값을 할당해 준다. 1-2 따라서 클래스 setter/getter를 반드시 작성해야 한다. 2. 라이브러리는 아래의 구문으로 추가할 수 있다. com.fasterxml.jackson.core jackson-databind 2.11.0 2-1 이 라이브러리를 사용하는 간단한 포스트이다. 2-1-1 아래 내용을 프로젝트 루트의 data/simple.json이라고 저장하고 { "id": 14, "firstName":"pilseong", "lastName": "Heo", "active": true, "address": { "street": "7 lucky s..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cgf7dT/btqEjoV7Xe0/t9xVltf9rrmoUkyu8V8iG0/img.png)
1. 아래 링크는 같은 기능을 xml로 설정하는 내용이다. Spring : Web MVC with XML Configuration - Static 파일 사용하기 1. web.xml의 dispatcherServlet 세팅에 사용된 Spring MVC config 파일에 설정을 추가한다. 1-0 xml은 기본적으로 디버깅이 짜증나므로 웬만하면 아래 beans 테그까지는 복사하는 게 좋다. 1-1 기본적으로 WEB-IN.. kogle.tistory.com 2. Web MVC에서 static 파일을 사용하는 방법은 다음과 같다. 2-1 WebMvc 설정 클래스에 WebMvcConfigurer를 implements 한다. 2-1-1 스프링 5.0 이후 부터 WebConfig의 기본적인 구현은 WebMvcConfi..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/biCVVL/btqD5JF0j8B/EhwX2VXaBcK4bdlTkyXstK/img.png)
1. 이 포스트는 Spring Web + Hibernate Delete와 연결되는 포스트이다. 2. 고객리스트에 first name으로 검색하는 기능을 추가한다. 2-1 list-customers.jsp에 검색하는 form을 추가한다. 2-2 CustomerDAO를 업데이트 한다. 2-3 CustomerService를 업데이트 한다. 2-4 CustomerController를 업데이트 한다. 3. 검색 기능을 위한 form을 추가한다. 3-1 bootstrap의 input-group을 사용하였다. 3-2 같은 mapping을 사용하여 list 뒤에 queryString을 추가할 수도 있지만 3-3 여기에서는 별도의 mapping 메소드를 추가하였다. CRM - Customer Relationship Ma..
- 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
- 스프링
- 외부파일
- Validation
- Rest
- hibernate
- form
- spring boot
- crud
- login
- Many-To-Many
- Security
- 스프링부트
- 자바
- 하이버네이트
- 설정
- Angular
- one-to-many
- one-to-one
- 로그인
- mapping
- 상속
- jsp
- 설정하기
- XML
- 매핑
- Spring
- RestTemplate
- Spring Security
- MYSQL
- WebMvc