Category: Spring

0

Spring validation과 custom validation

아무리 프론트에서 입력값에 대한 유효성 체크를 한다고 하지만 클라이언트에서 보내는 값은 프론트에서의 유효성 검사에 상관없이 아무 값이나 보내는 것이 가능하기 때문에 결국 서버에서도 유효성 체크가 필요하다.이때 Spring util이나 Apache commons에서 제공하는 StringUtils와 같은 Util 클래스를 통해 controller에서 클라이언트

0

Spring Boot web layer 테스트

평소 테스트에 관심은 있지만 하는 법을 잘 몰라 몇 번 시도 후 포기하기를 수차례였는데Cloud Native Java를 읽던 중 Spring Guide를 알게되서 web layer test 가이드가 있어 이 내용을 정리한다.스프링 부트 web layer를 테스트하기 위해 아래와 같이 web과 test dependency를 추가한다. 12345678910&l

0

Redirect 시 한글 파라미터가 깨지는 문제

이번에 토이 프로젝트를 하면서 발견한 문제인데Spring controller에서 redirect:로 redirection 응답 시 파라미터 값에 한글이 들어가 있을 경우 ?? 로 파라미터 값이 전달되는 문제를 발견했다. 간단하지만 웹에 대한 기초적인 지식이기 때문에 정리할 겸 포스팅한다. 테스트에 사용할 코드는 간단하게 아래와 같이 만들었다. 123456

0

스프링 부트, JPA, Thymeleaf를 이용한 페이징 처리 4 - 페이징 구현 (화면)

이제 Controller에서 데이터를 model에 담아 view로 넘겼기 때문에 마지막으로 이전에 생성한 view에서 paging 로직을 개발하면된다. 게시물 리스트 화면에 뿌리기 먼저 게시물 리스트를 화면에 보여주는 것을 먼저 구현해보자.간단하게 Controller에서 보낸 Page를 th:each를 사용해서 하나씩 뽑아 쓰기만 하면된다. board

0

스프링 부트, JPA, Thymeleaf를 이용한 페이징 처리 3 - 페이징 구현 (서버)

Entity는 생성했고 view도 어느정도 구색을 갖췄기 때문에 DB에서 데이터를 가져다 view에다 보내는 코드가 필요하다.이 프로젝트에서는 MyBatis와 같이 직접 쿼리를 작성하여 페이징 게시판을 개발하지 않을 것이다.대신 손쉽고 빠른 개발을 위해 Spring data JPA를 사용하여 페이징 게시판을 개발할 것이다. JPA를 쓰면 좋은 이유?? 개

0

스프링 부트, JPA, Thymeleaf를 이용한 페이징 처리 1 - 도메인 설계

사용자 게시판이기 때문에 사용자와 게시물에 대한 Entity가 필요할 것이다. 물론 사용자와 게시물을 같은 테이블에 다 때려 박아도 이 간단한 예제에서는 문제가 없겠지만 프로그램은 항상 유지 보수 및 기능 확장을 생각해야하기 때문에 UserEntity, BoardEntity 두 개의 Entity로 아래와 같이 설계를 하였다. UserEntity 1234

0

스프링 부트, JPA, Thymeleaf를 이용한 페이징 처리 0 - 프로젝트 개요 및 개발환경 세팅

초급 웹 개발자라면 구현하기 힘들어하는 기능 중 하나는 페이징 처리일 것이다.이번 포스팅은 기획 시리즈로 스프링 부트, JPA, Thymeleaf를 사용해 빠르고 쉽게 페이징 처리하는 법에 대해 알아보자. 해당 코드는 모두 github에 올라가 있다. 0. 프로젝트 개요 및 개발환경 세팅 프로젝트 개요 클래식한 사용자 게시판을 만들 것이다. 페이징은 다음

0

SpringBoot 2.0.x에 lucy-xss-servlet-filter 적용하기

XSS(Cross Site Scripting)을 막기위해 네이버에서 lucy-xss-servlet-filter를 개발했다. (그 전에 lucy-xss-filter가 있었다.) lucy-xss-servlet-filter는 Servlet filter 기반의 라이브러리로 XSS를 쉽고 효과적으로 방어할 수 있게 해준다.공식 github 에는 다음과 같이 설명하고

0

SnakeYAML을 통해 YAML을 클래스와 매핑하기

Spring Boot는 설정파일로 .properties 파일을 사용하지만 확장자를 변경해서 .yml 파일도 사용할 수 있다. 또한 @EnableConfigurationProperties을 통해 설정파일의 key, value를 클래스 프로퍼티로 매핑할 수 도 있다. 이러한 YAML 파일을 사용해서 편리한 기능을 사용할 수 있는 것은 Spring Boot의 특