백엔드 개발하며 작성한/Spring

    [Spring Batch] 1. 스프링 배치 공부 순서와 간단 소개

    [Spring Batch] 1. 스프링 배치 공부 순서와 간단 소개

    기록 순서 1. 스프링 배치 소개 (탄생 배경, 적용 가능한 task, 아키텍처) 현재 글 2. 스프링 배치 시작 (스프링 배치 플젝 + 의존성 구성, 간단한 실습_job 구성+실행) 3. 스프링 배치 도메인 이해 (job, step, 등 각 도메인에 대한 이해_특징,기능,정의) 🌟🌟🌟 4. 스프링 배치 실행 (완성된 job 실행, 도메인 간 상호관계 및 흐름 파악) 체계적&유연한 배치 모델 구성 4. 아키텍처 Application 스프링 배치 프레임웍을 통해 개발자가 만든 배치 Job과 커스텀 코드 포함되어 있다. Batch Core Job을 실행, 모니터링, 관리하는 API로 구성 JobLauncher, Job, Step, Flow 등 Batch Infrastructure Application, Ba..

    Spring Framework와 Spring Boot

    이번 포스팅에서는 Spring Framework와 Spring Boot 에 대해 알아보겠습니다.💡 Spring Framework가 뭐야?Spring Framework는 자바 애플리케이션 개발을 위한 오픈소스로 공개된 애플리케이션 프레임워크입니다.Spring 이 등장함으로 인해 개발자들이 기술을 사용하기 위해 불가피하게 작성해야했던 복잡한 코드들을 걷어내주었고, 이로 인해 코드의 복잡성을 낮춰주었다고 합니다. 더보기Framework ?프레임워크란, 어떠한 목적을 쉽게 달성할 수 있도록 해당 목적과 관련된 코드의 뼈대를 미리 만들어둔 것을 의미한다.애플리케이션 프레임워크는 애플리케이션을 개발하는데에 있어 필요한 모든 업무 분야 및 기술과 관련된 코드들의 뼈대를 제공합니다. Spring Framework의 ..

    @Component에 대해 (@Bean)

    @Component에 대해 (@Bean)

    Spring 으로 개발을 할 때 @Bean과 @Component의 차이를 명확하게 알고 사용한 게 아니었다는 걸 알고정리를 하고자 오랜만에 글을 작성합니다.먼저 @Bean과 @Component의 차이를 다루고,@Component에 대한 Spring 공식문서를 읽으며 정리하고 마무리하겠습니다.두 애노테이션 모두 Spring Context에 해당 객체를 빈(Bean)으로 등록하기 위해 사용한다는 점은 공통점입니다.차이점은 1. 용도와 2. 제한이 있습니다.1. 용도개발자가 통제하지 못하는 외부 라이브러리를 가지고 와서 빈으로 등록하려고 할 때, @Bean을 사용할 수 있습니다.반면, 개발자가 직접 구현한 클래스를 빈으로 등록하려 할 때, @Component를 사용할 수 있습니다.결국,둘다 스프링의 의존성 주..

    @RequestBody 붙였어??

    @RequestBody 붙였어??

    준비 해당 포스팅의 제목이 이렇게 붙여진 이유는... 내가 그런 실수를 저질렀기 때문이다. ㅠㅠ 그래서 나의 바보짓을 공개적인 곳에 올리면서 제대로 기억할 겸 포스팅한다. @RequestBody 애노테이션은 한마디로 HttpRequestBody를 Java객체로 매핑해주는 애노테이션이다. 덕분에 API 요청으로 전송받은 JSON 데이터를 (우리가 따로 조작하지 않고도) 객체로 변환해서 받을 수 있게 된다. '@RequestBody'가 뭐지? 애노테이션 이름이 말해주는 그대로, 요청(Request)의 Body를 연결해주는 역할을 한다. 웹 요청의 body에는 json 형태로 데이터가 전달되는데, 컨트롤러 메서드의 매개변수 앞에 애노테이션 @RequestBody를 붙이면 해당 객체가 웹 요청의 body와 매핑..

    Spring Boot에서 Connection Pool 이용하기 (HikariCP)

    Spring Boot와 MySQL을 연동한 상태에서 HikariCP 라이브러리를 이용해 Connection Pool을 직접 등록하고 이를 이용하여 쿼리문을 수행하는 실습을 진행하겠습니다.  의존하고 있는 라이브러리들은 아래와 같습니다.dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.testng:testng:7.1.0' implementation 'junit:junit:4.13.1' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testI..

    Filter와 OncePerRequestFilter

    Filter와 GenericFilterBean Filter는 javax.servlet-api나 tomcat-embed-core를 사용하면 제공되는 Servlet Filter 인터페이스입니다. Filter는 서블릿이 실행되기 전, 후로 호출됩니다. 이 Filter 인터페이스를 조금 더 확장하여 스프링에서 제공하는 필터가 바로 GenericFilterBean 입니다. GenericFilterBean 추상 클래스는 Filter 인터페이스를 상속받고 있는데 이외에도 Spring의 설정 정보를 가져오고 세팅할 수 있도록 확장된 추상 클래스입니다. (ServletContext를 get,set 하는 등..) Filter 인터페이스 외에도 여러 인터페이스들을 구현하고 있지요? public abstract class G..