springboot 10

[JUnit] Maven을 이용하여 특정 JUnit Test 실행시키기

Springboot 환경에서 Spring REST Docs(링크)를 적용시켜본 경험이 있다. Spring REST Docs를 간단히 설명하자면 REST API를 자동으로 문서화해주는 프레임워크이다. 여기까지 본다면 문서화를 도와주는 또 다른 프레임워크인 Swagger와 비슷해보이지만, 가장 큰 차이점은 Spring REST Docs는 프로젝트에 존재하는 테스트 코드(JUnit Test)를 이용하여 자동적으로 문서를 생성해주는 것이다. 따라서 API를 잘 보여줄 수 있는 적절한 테스트 코드와 통과하는 테스트 코드를 작성하는 것이 중요해진다. Spring REST Docs에 대한 더 자세한 내용은 추후의 다룰 예정이다. 본론으로 돌아와 Springboot 프로젝트의 Spring REST Docs를 특정 서버..

Java&Web 2021.07.27

[Spring] Argument Resolver를 이용하여 Client IP 바인딩 하기

이번 포스팅에선 SpringBoot 환경에서 Argument Resolver를 이용하여 요청 파라미터를 바인딩하는 실습을 해보았다. Argument Resolver란? Argument Resolver(아규먼트 리졸버)는 Spring 환경에서 Controller로 들어온 파라미터를 가공하고나, 수정, 바인딩 기능을 제공할때 사용하는 객체이다. HandlerMethodArgumentResolver 인터페이스를 상속하여 Class를 만들어 사용한다. Body(@Request Body)에 담겨 들어오거나 @PathVariable을 이용하는 데이터들은 Controller에서 바로 파라미터로 받을 수 있지만 세션, 쿠키, 헤더 등에서 제공받는 데이터들을 파라미터로 받는 경우 Argument Resolver를 활용하..

Java&Web 2021.07.15

[Apache] Apache와 Springboot 연동하기(mod_proxy)

[Java&Web] - [WEB] Apache와 Tomcat 연동하기 [WEB] Apache와 Tomcat 연동하기 [Network] Web Server와 WAS [Network] Web Server와 WAS Web Server란? 개념 하드웨어적 의미로는 Web Server가 설치되어 있는 컴퓨터 소프트웨어적 의미로는 클라이언트의 요청을 받아 정적 컨텐츠(image, html,.. minkwon4.tistory.com Apache와 Springboot 연동(mod_proxy) Web Server로써 Apache를 Springboot의 내장 Tomcat과 연동하는 작업을 mod_proxy 방식을 사용하여 진행해보았다. mod_proxy 방식은 mod_jk방식에 비해 속도가 느리고, URL에 따른 설정이 ..

Java&Web 2021.04.11

[WEB] RestTemplate을 이용하여 API 호출하기

RestTemplate이란? RestTemplate은 Spring 3.0 부터 지원하는 템플릿으로 Spring에서 HTTP 통신을 RESTful 형식에 맞게 손쉬운 사용을 제공해주는 템플릿이다. Rest API 서비스를 요청후 응답 받을 수 있도록 설계되었으며 HTTP 프로토콜의 메소드(ex. GET, POST, DELETE, PUT)들에 적합한 여러 메소드들을 제공한다. Java에서 사용되는 다른 템플릿(ex. JdbcTemplate)들 처럼 단순 메소드 호출 만으로 복잡한 작업을 쉽게 처리할 수 있는 것이 특징이다. RestTemplate의 특징 Spring 3.0 부터 지원하는 Spring의 HTTP 통신 템플릿 HTTP 요청 후 JSON, XML, String 과 같은 응답을 받을 수 있는 템플릿..

Java&Web 2021.01.23

[MyBatis] Enum을 MyBatis 환경에서 사용하기

Java 서버단에서 상수를 처리함에 있어서 여러방법이 있다. 보통 final을 붙여서 상수를 선언하여 처리하는 것이 일반적이지만 성질이 비슷한 상수가 다수가 존재한다면 Enum 클래스를 이용하여 처리할 수 있다. Enum 클래스에 대한 자세한 내용은 다른 포스팅에서 다룰 예정이고, 이번 포스팅에선 이러한 Enum 클래스를 MyBatis 환경에서 적용시키는 실습을 해보았다. 다음과 같은 과정을 거쳐 Springboot에서 Enum 클래스를 MyBatis에 적용시켜 보았다. Enum 클래스 생성 1 2 3 4 5 6 7 8 9 10 11 12 public enum Status { UNCHECKED(1), APPROVED(2), BLOCKED(3); @Getter private final int statusC..

Java&Web 2021.01.12

[MyBatis] Springboot에 MyBatis-Spring 설정하기(2)

[MyBatis] Springboot에 MyBatis-Spring 설정하기(1) [MyBatis] Springboot에 MyBatis-Spring 설정하기(1) [MyBatis] MyBatis [MyBatis] MyBatis MyBatis란? MyBatis는 객체 지향 언어인 Java의 관계형 데이터베이스 프로그래밍을 좀더 쉽게 도와주는 퍼시스턴스 프레임워크(Persistence Framework, 데이터를 다루는 클래.. minkwon4.tistory.com 지난 포스팅에서 MyBatis-Spring에 대해 알아보고, application.properties만을 이용하여 Springboot환경에 MyBatis-Spring을 적용하는 실습을 해보았다. 이번 포스팅에서는 application.propert..

Java&Web 2021.01.04

[MyBatis] Springboot에 MyBatis-Spring 설정하기(1)

[MyBatis] MyBatis란 [MyBatis] MyBatis란 MyBatis란? MyBatis는 객체 지향 언어인 Java의 관계형 데이터베이스 프로그래밍을 좀더 쉽게 도와주는 퍼시스턴스 프레임워크(Persistence Framework, 데이터를 다루는 클래스 및 설정파일 집합)이다. MyBati minkwon4.tistory.com 지난번 포스팅때 MyBatis에 대해 조사하였는데, 조사하다가 Spring 환경에서 사용하기 적합하게 나온 Mybatis-Spring에 대해 알게 되어 조사해보았다. MyBatis-Spring의 주요 컴포넌트 이름 설명 SqlSessionFactoryBean SqlSessionFactory를 작성하고 Spring DI 컨테이너에 저장하는 구성요소 기본적으로 MyBat..

Java&Web 2020.12.31

[Maven] Maven Profile을 이용한 Springboot 배포서버 별 환경 구성하기

Springboot를 개발하고 배포를 하다보면 다양한 서버환경을 만나게 된다. 예를 들면 하나의 애플리케이션 출시되기 전까지 다음과 같은 서버 환경을 거칠수도 있다. Local 서버 : 각 개발자들의 로컬 환경에 띄우는 서버 Alpha 서버 : 통합 코드로 띄우는 서버 Beta 서버 : Client 개발자 연동 및 QA 테스트 환경 제공 Staging 서버 : Real 서버와 동일 환경 설정 후 테스트 Real 서버 : 실제 사용자의 게임 처리 위의 서버 환경은 LINE의 Rangers 게임 개발팀의 서버환경이다(출처 : LINE Rangers 신입사원의 서버 분석기). 이처럼 한 애플리케이션에 대해 다양한 서버환경이 존재하고 각 서버환경마다 다른 개발환경들(DB설정, log설정, path설정 등)이 적..

Java&Web 2020.12.29

[Logging] Springboot에 Log4j2 설정하기

[Logging] slf4j, log4j, logback, log4j2 [Logging] slf4j, log4j, logback, log4j2 로그(log)는 소프트웨어의 이벤트를 기록하는 것으로써, 소프트웨어의 동작상태를 파악하고 문제가 발생했을 때 이 동작 파악을 통해서 소프트웨어의 문제를 찾아내고 해결하기 위해 디자인 되 minkwon4.tistory.com Springboot는 기본 Java 로깅 프레임워크로 spring-boot-starter-web안에 spring-boot-starter-loggig의 logback이 포함되어 있지만 가장 최신에 나오고 성능이 좋은 log4j2를 Springboot 프로젝트에 설정을 해보았다. 다음과 같은 과정을 거쳐 설정을 진행했다. log4j2 Depende..

Java&Web 2020.12.29

[Apache] Apache와 Springboot 연동하기(mod_jk)

[WEB] Apache와 Tomcat 연동하기 [WEB] Apache와 Tomcat 연동하기 [Network] Web Server와 WAS [Network] Web Server와 WAS Web Server란? 개념 하드웨어적 의미로는 Web Server가 설치되어 있는 컴퓨터 소프트웨어적 의미로는 클라이언트의 요청을 받아 정적 컨텐츠(image, html,.. minkwon4.tistory.com Apache와 Springboot 연동(mod_jk) Web Server로써 Apache를 Springboot의 내장 Tomcat과 연동하는 작업을 앞서 정리한 글의 mod_jk 방식을 사용하여 다음과 같은 과정을 거쳐 진행해 보았다. 일단 Springboot에서 다음과 같은 설정 파일들을 작성해주었다. app..

Java&Web 2020.12.24