본문 바로가기

분류 전체보기86

[JAVA] Optional의 사용법 (1/2) 코드 작성할 때 흔히 만날 수 있는 예외 중 NullPointerException가 있다. 예외 방지를 위해 조건문을 사용하고 예외를 발생시키는 등의 처리를 하지만 처리를 잊을수 있고 null을 리턴한다는 사실이 문제가 된다. 자바 8에서 null일 가능성이 있는 데이터를 감싸는 Wrapper 클래스인 Optional을 제공한다. 이를 사용해 클라이언트에게 반환 값이 '없음'을 명백하게 표현이 가능하다. Optional 생성 Opional 클래스는 간편하게 객체 생성을 하도록 3가지의 정적 팩토리 메소드를 제공합니다. Optional.of() 데이터가 null이 아닐때 사용 가능하다 만약 null일 경우 NullPointerException이 발생한다. public Optional getNickName(.. 2022. 7. 25.
[SPRING] 쿠키활용법 주로 브라우저에 저장해도 보안상 문제가 없는 데이터를 쿠키를 통해 사용하는데 스프링에서 쿠키를 생성하고 조회하는 방법에 대해 학습한 내용을 정리합니다. 쿠키종류 쿠키는 생성할 때 만료 날짜 입력 여부에 따라 속성이 달라지는데 만료 날짜가 없다면 세션쿠키로 브라우저 종료 시 삭제된다. 만료날짜가 있다면 영속 쿠키로 만료 날짜까지 유지된다. 쿠키생성 @GetMapping("/cookie") public String createCookie(HttpServletResponse response) { Cookie cookie = new Cookie("cookieName", LocalDateTime.now().toString()); // 쿠키의 key, value 입력 cookie.setMaxAge(120); // .. 2022. 7. 21.
[SPRING] Bean Validation 직접 조건을 확인하여 validation 처리하는 것이 아닌 필드에 조건을 명시하고 조건에 부합됐을 때 오류 메세지를 생성하고 바인딩까지 처리까지 해준다면 더욱 편리할 것이다. Bean Validation은 애노테이션 기반으로 검증을 매우 편하게 할 수 있도록 한다. 학습의 결과를 정리합니다. Project Metadata project : Gradle Project Language : Java 11 Framework : Spring Boot 2.5.x Template Engine : Thymeleaf 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-validation' spring-boot-starter-validation 의존관.. 2022. 7. 10.
[SPRING] BindingResult을 활용한 Validation처리 스프링MVC의 컨트롤러에서는 클라이언트로부터 받은 요청이 정상적인지 데이터는 형식에 맞는지에 대한 검증 해야 하는데 스프링이 제공하는 BindingResult을 활용하면 좀 더 편리하게 처리가 가능하다. BindingResult의 학습내용을 정리합니다. Project Metadata project : Gradle Project Language : Java 11 Framework : Spring Boot 2.5.x Template Engine : Thymeleaf BindingResult @PostMapping("/test") public String userPage(@ModelAttribute User user, BindingResult bindingResult) { if (!StringUtils.has.. 2022. 7. 3.