목록전체 글 (36)
그라가승훈

- Swagger 란? 간단한 설정만으로 API 목록을 웹에서 확인 및 테스트 할 수 있게 해주는 라이브러리. 1. gradle 에 라이브러리 추가 현재 가장 많이 사용하는 2.9.2 를 사용했다. // swagger implementation 'io.springfox:springfox-swagger2:2.9.2' implementation 'io.springfox:springfox-swagger-ui:2.9.2' 2. application.properties 에 설정 추가 spring.mvc.pathmatch.matching-strategy=ant_path_matcher SpringBoot 2.6 버전 이후에 spring.mvc.pathmatch.matching-strategy 값이 ant_apth_m..

- 파일 첨부를 위한 기본 설정. 1. 라이브러리 추가 스프링 프레임워크에는 파일 업로드를 위한 MultipartResolver 인터페이스가 정의되어있다. 일반적으로 사용되는 구현체는 아래 두가지이다. 아파치의 Common Fileupload를 이용한 CommonMultipartResolver 서블릿 3.0 이상의 API를 이용한 StandardServletMultipartResolver 여기서는 아파치의 Common Fileupload 를 사용했다. - build.gradle 에 라이브러리 추가 commons-fileupload 는 commons-io 를 이용하기 때문에 두개의 라이브러리를 추가한다. 작성일 기준 최신 버전을 사용했다. // 아파치 Common Fileupload implementati..
1. DatabaseConfiguration 클래스 src/main/java/baord 패키지 밑에 configuration 패키지 생성 후 DatabaseConfiguration 클래스 생성 @Configuration @PropertySource("classpath:/application.properties") public class DatabaseConfiguration { @Autowired private ApplicationContext applicationContext; /** * hikari 설정 */ @Bean @ConfigurationProperties(prefix = "spring.datasource.hikari") public HikariConfig hikariConfig() { ret..

- 예외처리 스프링의 예외처리 방법에는 크게 세 가지가 있다. try/catch 를 이용한 예외처리 각각의 컨트롤러단에서 @ExceptionHandler 를 이용한 예외처리 @ControllerAdvice 를 이용한 전역 예외처리 여기서는 @ControllerAdvice 를 이용한 전역 예외처리를 볼 것이다. 1. @ControllerAdvice 추가하기 스프링 3.2에서 추가된 어노테이션으로 스프링부트 2.0 이상부터는 @ControllerAdvice 어노테이션만 사용하면 추가적인 설정 없이 쉽게 예외처리할 수 있다. - common 패키지를 생성 후 ExceptionHandler 클래스를 생성 @ControllerAdvice @Slf4j public class ExceptionHandler { // ..

- AOP(Aspect Oriented Programming)란? AOP는 OOP 를 더욱 OOP답게 사용하도록 도와주는 개념이다. AOP는 애플리케이션 전반에서 사용되는 기능(로그, 권한 체크, 인증, 예외처리 등)을 여러 코드에 쉽게 적용할 수 있도록 한다. AOP 는 각 부가 기능의 관점에서 바라본 관점지향프로그래밍으로, 해당 부가 기능이 적용되어야 하는 시점을 설정하여 적용한다. 1. AOP 용어 관점(Aspect) : 공통적으로 적용될 기능을 의미, 횡단 관심사의 기능이라고도 할 수있다. 한 개 이상의 포인트컷과 어드바이스의 조합으로 만들어진다. 어드바이스(Advice) : 관점의 구현체로 조인포인트에 삽입되어 동작한다. 스프링에서 사용하는 어드바이스는 동작 시점에 따라 다섯 종류로 구분된다. ..

- 인터셉터(Interceptor) Spring의 인터셉터는 어떠한 URI를 호출했을 때 해당 요청의 컨트롤러가 처리되기 전 또는 후에 작업을 하기 위해서 사용한다. 이러한 역할은 필터와 인터셉터로 수행할 수 있다. 둘의 차이를 알아보자. 1. 필터와 인터셉터의 차이 필터는 디스패처 서블릿 앞 단에서 동작하지만 인터세터는 디스패처 서블릿에서 핸들러 컨트롤러로 가기 전에 동작 필터는 J2EE 표준 스펙에 있는 서블릿의 기능 중 일부, 인터셉터는 스프링 프레임워크에서 제공되는 기능. 따라서 필터와 달리 인터셉터는 스프링 빈을 사용할 수 있다. 일반적으로 문자열 인코딩과 같은 웹 전반에서 사용되는 기능은 필터로 구현, 클라이언트의 요청과 관련이 있는 여러가지 처리(로그인, 인증, 권한 등)는 인터세터로 처리한..