본문 바로가기

spring boot

(11)
[Spring Boot] 스프링 부트란 무엇인가? 1. 스프링 부트란? 스프링 프레임워크 기반 프로젝트를 복잡한 설정없이 쉽고 빠르게 만들어주는 라이브러리입니다. 사용자가 일일이 모든 설정을 하지 않아도 자주 사용되는 기본설정을 알아서 해줍니다. 2. 왜 스프링 부트를 사용해야할까? 스프링 프레임워크를 사용하려면 많은 XML 설정 파일(web.xml, rootContext.xml, ServletContext.xml 등)들을 작성해야하고, 설정 방법을 모두 외우지 못했다면 기존에 사용했던 설정을 Copy&Paste하거나 개발자가 일일이 인터넷 검색을 통해서 설정해주어야 했습니다. 이는 곧 생산성과 비용 문제로 직결될 수 있습니다. 하지만 스프링 부트를 사용하면 복잡한 설정없이 쉽고 빠르게 스프링 프레임워크를 사용할 수 있습니다. 3. Spring Boot..
[SpringBoot] HandlerInterceptor 설정하기 1. HandlerInterceptor 란? Spring Framework에서 지원하는 기능이며, URI 요청, 응답 시점을 가로채서 전/후 처리를 하는 역할을 합니다. Interceptor 시점에 Spring Context와 Bean에 접근할 수 있습니다. 이와 비슷한 역할로 Filter와 AOP가 있습니다. Filter는 Spring Framework와 무관하게 동작하며, Spring 자원을 이용할 수 없습니다. Filter는 보통 인코딩, XSS방어 등...의 용도로 이용됩니다. AOP는 주로 비즈니스 로직에서 실행됩니다. Logging, transaction 처리 등 중복 코드가 발생할 경우 중복을 줄이기 위해 사용되며, 메소드 처리 전후 지점에 자유롭게 설정이 가능합니다. 2. Filter, I..
Spring Boot로 간단한 웹 사이트 만들기 - 환경 구축 IDE는 이클립스, intellij 등 아무거나 사용하셔도 됩니다. 보통은 IDE와 톰캣을 연동하여 테스트를 진행하지만 이번에는 별도의 tomcat을 이용해 테스트를 진행하려고 합니다. Spring Boot-2.3.3.RELEASE Maven-3.6.3 Tomcat 8.5 thymeleaf 1. 목표 java 8 설치 tomcat 8 설치 Spring Boot 프로젝트 생성 HomeController 생성 thymeleaf를 이용해서 hello 화면 뛰우기 2. java 8 설치 2020/04/07 - [IT/JAVA] - [Java] Windows 10 Open-JDK 8 다운로드 및 환경변수 설정 3. tomcat 8.5 설치 2020/09/07 - [IT/Apache, Tomcat] - [Tomca..
[Spring Boot] ConstraintValidator Custom 하기 Spring에서 JSR 303 어노테이션을 이용해 데이터 유효성검사를 진행할 수 있습니다. 보통 @NotBlank, @Size, @NotNull ...등 이미 만들어진 검증 어노테이션을 이용할 수 있지만, 자신의 목적에 맞는 검증 어노테이션을 커스텀하여 제작할 수 있습니다. 간단하게 password를 검증하는 어노테이션을 만들어보겠습니다. 1. Password Annotation 생성 import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang..
[Spring Boot] 클라이언트 디바이스 정보 확인하기 API 요청 시, 요청한 클라이언트의 정보를 확인할 수 있는 spring-mobile-starter 라이브러리 사용방법을 포스팅하겠습니다. 1. pom.xml ... org.springframework.mobile spring-mobile-starter 2.0.0.M3 pom ... spring-milestones Spring Milestones https://repo.spring.io/milestone ... spring-mobile-starter 라이브러리를 추가하고, 해당 라이브러리가 저장 되어있는 repository 정보를 등록합니다. 2. TestController @Controller @RequestMapping(value = "/") public class TestController { pr..
[Spring Boot] spring boot devtools devtools는 웹 서버 개발 시 유용한 기능들을 포함하고 있는 라이브러리 입니다. 화면 수정 시, 서버를 재구동 하지 않고 브라우저를 새로고침 함으로써 화면을 리로딩 시킬 수 있습니다. 1. pom.xml ... org.springframework.boot spring-boot-devtools ... spring-boot-devtools 라이브러리를 dependency합니다. 2. livereload enabled 및 Cache Disabled aplication.yml spring : devtools : livereload : enabled : true thymeleaf: cache : false devtools를 이용해서 livereload를 활성화 시키고, page cache를 비활성화 합니다...
[Spring Boot] Swagger 연동 및 설정 방법 1. Swagger란? 서버로 요청되는 URL 리스트를 HTML화면으로 문서화 및 테스트 할 수 있는 라이브러리입니다. 테스트는 Spring Boot 2.2.2 RELEASE에서 진행 되었습니다. 2. pom.xml ... io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2 ... 3. SwaggerConfig.java import java.util.HashSet; import java.util.Set; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import s..
[Spring Boot] @Valid 어노테이션으로 Parameter 검증하기 java.validation의 @Valid 어노테이션 사용법 정리 글입니다. Spring Boot 라이브러리에서 기본적으로 탑재된 기능이며 따로 dependency해 줄 필요가 없습니다. Spring Boot Version은 2.2.2.RELEASE 입니다. 1. java.validation 어노테이션 설명 Anotation 제약조건 @NotNull Null 불가 @Null Null만 입력 가능 @NotEmpty Null, 빈 문자열 불가 @NotBlank Null, 빈 문자열, 스페이스만 있는 문자열 불가 @Size(min=,max=) 문자열, 배열등의 크기가 만족하는가? @Pattern(regex=) 정규식을 만족하는가? @Max(숫자) 지정 값 이하인가? @Min(숫자) 지정 값 이상인가 @Futu..