본문 바로가기

반응형

개발/Spring

(8)
RestTemplate 을 이용해서 HTTP통신하기. - 나의 상황 : 외부 솔루션인 서버에 요청을 보내야해서 http 통신이 필요함. RestTemplate 이후에 나온 WebClient 사용을 지향해야한다는 것을 알지만.. 중간 투입된 프로젝트고.. 기존에 RestTemplate 을 사용한 파일만 있길래 이걸 사용했음. 그저 기록을 남기려고 그냥 글로 써둠.. -사용 // POST 방식인경우 HttpHeaders headers = new HttpHeaders(); headers.set("Content-Type", "application/json"); HttpEntity entity = new HttpEntity(requestBody, headers); // resquestBody 는 내가 api에 전달할 데이터를 json형식의 string 으로 위에서 ..
Spring 비동기 처리 @Async 어노테이션 사용 상황 : jdk 1.6, 스프링 4.X 사용 중. 찾아보니 jdk1.5 ~ 스프링 3.2 부터 @Async 사용 가능한 것 같음. 사용 : 1) 설정 : AsyncConfig.java 파일 생성 (더 이상 해야할 설정도 없음. 간단) @Configuration 사용해 bean 등록 @EnableAsync 사용해 비동기 메소드 실행 기능 활성화 import java.util.concurrent.Executor; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.AsyncConfigurerSupport; import org.springframework.schedu..
nested exception is org.apache.ibatis.binding.BindingException: Parameter 'fromDate' not found. 나의 상황 : date 타입의 값 fromDate, toDate 두개를 넘겨서 쿼리를 조회하고 싶은 상황. List selectListForStat(Date fromDate, Date toDate); 해결 : 매개변수에 @Param 을 추가하여 SQL 을 읽을 때 해당 데이터가 어떤 것인지를 명시해준다. List selectListForStat(@Param("fromDate")Date fromDate, @Param("toDate")Date toDate); 원인 : MyBatis 를 이용한 SQL Mapper 는 메서드당 하나의 파라미터만 읽는다고 한다. VO 를 이용했을때는 VO 하나로 여러개의 객체를 바인딩했기때문에 여러 파라미터를 쓸 수 있었던 것..! 참고 : https://awse2050.tist..
log4j2 + slf4j 설정하기 ( + lombok) - 새로운 프로젝트의 프레임워크 셋팅을 담당하게 되었다. 로그 관련 설정을 log4j2 와 slf4j 를 쓰라고 하셔서 셋팅해보게 되었다. 1. 라이브러리 추가 pom.xml 에 log4j2 와 slf4j 의 의존성을 추가해준다. 나는 @Slf4j 어노테이션도 함께 쓰고싶어서 lombok도 추가! //버전 관리를 위해 properties 에 버전명을 따로 선언해둔다. 아래에 ${slf4j.version} 을 작성하면 여기 명시된 버전이 들어가므로 유지보수에 편리하다. 1.7.32 2.16.0 2.16.0 org.slf4j slf4j-api ${slf4j.version} compile org.slf4j jcl-over-slf4j ${slf4j.version} org.slf4j log4j-over-slf4j..
Spring HandlerInterceptorAdapter deprecated 해결. - 나의 상황 : spring 4.x 버전에서 5.3.2 버전으로 업그레이드했음. 기존에 로그를 남기기 위해 추가되어있던 interceptor 에서 extends 해오던 HandlerInterceptorAdapter 를 가져오지 못하는 상황 - 원인 : spring 5.3 이상 버전에서는 HandlerInterceptorAdapter 를 더이상 사용하지 않는다고 함. - 해결 : as of 5.3 in favor of implementing HandlerInterceptor and/or AsyncHandlerInterceptor directly. -> HandlerInterceptor 나 AsyncHandlerInterceptor를 implements 하여 사용하면 된다. * 기존에 extends Han..
[Spring] @Valiated, BindingResult 사용하여 데이터 유효성 검증하기 서버에서 데이터를 바인딩할때, 데이터의 유효성을 검증하기 위해 @Validated 어노테이션을 이용할 수 있다. BingdingResult 를 함께 사용하여 유효성 검증 오류를 처리할 수 있다. @Valid 와 @Validated 의 차이는 이전 글을 작성해뒀다! [Spring] @Valid 와 @Validated 차이 기존에 스프링은 유효성 검증을 위해 @Valid 어노테이션을 제공했음. 그런데 같은 객체 내의 파라미터들을 그룹핑하여 특정 상황에 맞게 유효성 검증을 하기 위해 @Validated 가 추가되었다. ex) 회원 jy-note.tistory.com 이번 글에서는 @Validated 에 추가된 기능인 그룹핑을 하여 데이터 유효성 검증하는 걸 정리할 것이다. 만약 그룹핑하지않고 그냥 검증한다면 ..
[Spring] @Valid 와 @Validated 차이 기존에 스프링은 유효성 검증을 위해 @Valid 어노테이션을 제공했음. 그런데 같은 객체 내의 파라미터들을 그룹핑하여 특정 상황에 맞게 유효성 검증을 하기 위해 @Validated 가 추가되었다. ex) 회원관리를 위한 user 객체가 있다. 회원가입 시 user 객체에서의 필수값은 사용자 이름, 사용자 아이디, 사용자 비밀번호, 사용자 정보 등등이 있을것이고 회원정보 수정 시 user 객체에서의 필수값은 변경되는 정보 등등 상황마다 다르다. 그래서 같은 user 객체를 이용하지만, 특정 상황에 맞게 유효성검증을 하기위해 추가되었음! User 객체 사용 필수값(예시) 회원가입 사용자 아이디, 사용자 이름, 사용자 비밀번호, 기타 정보 등등 회원정보 수정 사용자 아이디, 사용자 비밀번호 즉, 둘 다 유효성..
[spring] org.springframework.validation.BindException 에러 - 나의 상황 : 기존에 잘 동작하던 화면에 새로운 기능을 추가하며 새 변수 하나가 추가되었는데.. 기존 페이지 요청 시 아래 에러 발생. test 변수가 쓰일때는 js에서 value 값을 넣어주는데.. 문제가 없었음.. 근데 기존 기능들에 빈 값으로 넘어갈 때마다 오류 발생. 추가된 곳. -testVo int test; -html 에러코드 org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'testForm' on field 'test': rejected value []; codes [typeMismatch.test..

반응형