일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Java
- 백엔드
- CI/CD
- 자바
- 스프링 배치
- 스프링 부트
- Container
- 웹 서버
- CS
- vm
- virtualization
- computer science
- JPA
- ORM
- 가상화
- 데이터베이스
- mysql
- HTTP
- 도커
- spring boot
- 영속성 컨텍스트
- Spring
- spring cloud
- Spring Security
- 스프링 시큐리티
- 배포
- 스프링
- web server
- spring batch
- 컨테이너
- Today
- Total
목록spring boot (33)
개발 일기

이슈처음에 아래와 같은 구조로 스프링부트 멀티모듈 프로젝트를 구성했다.그런데 기존에는 api모듈을 하나로 해서 진행했는데 장기간 개발해야하는 프로젝트여서 각 기능별로 분리해서 모듈화하기로 했다.그런데 기존에는 api가 하나로 되어있어서 단순히 bootJar를 true, jar를 false로 해놓고 jar로 묶어 도커 이미지를 만들어 배포를 했었느데 bootJar와 jar에 대해 잘 알지 못한 상태로 개발을 진행하여 모든 api모듈들의 build.gradle을 bootJar {enabled = true}jar {enabled = false}위와 같이 설정하였고 execute-app하위에 생긴 jar파일을 통해 도커 이미지를 묶었더니 domain-rds,common과 같은 의존성은 정상적으로 주입되었지만 C..

https://github.com/TanJi-LL/Tanji-Backend해당 블로그는 위 프로젝트에서 내가 직접 구현한 Spring Boot 프로젝트에서 직접 사용한 JWT를 활용한 인가(Authorization)처리 과정을 정리해보고자 한다.지금부터 설명하고자하는 로직은 회원가입이나 로그인 과정이 아닌, 특정 API 요청을 보낸 사용자가 해당 리소스에 대한 권한이 있는지 확인하는 인가(Authorization) 과정을 처리하기 위한 로직에 대한 설명이다인가(Authorization) 처리 흐름도 및 설명우선 처음으로 JwtExceptionFilter로 들어간다. 1. JwtExceptionFilter해당 필터에서는 JWT 처리 중 발생하는 예외를 처리하며, 예외 발생 시 사용자에게 적절한 응답을 반환..

피우다 프로젝트라는 공모전의 본선에 붙게되어 실제 프로젝트에 적용시키기 전에 멀티 모듈을 왜 쓰는 것이 좋은지에 대해 알아보고자 작성하게됐다. 전에 개인적으로 멀티모듈 프로젝트를 구성해봤는데 그때 느낀점을 바탕으로 작성하고자 한다.느낀점을 가독성을 포기하고 줄글로 쭉 풀어 써보고자 한다.모듈(Module)이란?우선 모듈이 뭔지 짚고 넘어가보자. 바로 독립적으로 운영될 수 있는 의미를 가지는 구성요소 단위 왜 멀티 모듈(Multi-Module)을 도입하는지 장점 살펴보기?우선은 왜 사람들이 멀티 모듈 구조를 선택하려고 하는지 장점에 대해 고민해봤다.사실 처음에는 MSA(마이크로 서비스 아키텍처) 처럼 독립적인 배포가 가능한 것도 아니고 더 복잡해지기만 하는 것만 같고 왜 써야하는지 이해가 안갔다. 그래서 ..

JDBC(Java Database Connectivity)란?JDBC(Java Database Connectivity)는 Java에서 데이터베이스에 접속할 수 있도록 하는 Java 표준 API이다.즉, JDBC API를 통해 자바 코드로 데이터베이스를 연결할 수 있고, SQL 쿼리문을 보내서 쿼리를 실행하며 결과 값을 받아올 수 있다. JDBC는 Java 애플리케이션 내에서 JDBC API를 사용하여 데이터베이스에 접근하는 단순한 구조이다. JDBC를 통한 DB 연동 흐름 1. 드라이버 로딩JDBC 드라이버를 사용하여 Java 애플리케이션이 데이터베이스와 통신할 수 있도록 하는 첫 번째 단계.DriverManager 클래스는 JDBC 드라이버를 관리하는 역할을 한다.그러나 JDBC 4.0부터는 드라이버가..

예외 처리 관련한 블로그를 보다가 Controller에서 응답값 즉, Spring에서 HTTP 통신 시 ResponseBody에 메세지를 설정하는 방식에 두 가지의 처리 방식이 있는 것 같았고 그 두 가지인 @ResponseBody와 ResponseEntity 비교해보고 둘 중 무엇을 선택하는 것이 좋을지 알기 위해 정리해보게 됐다.@ResponseBody (+ Response DTO)@GetMapping("/test")@ResponseBody@ResponseStatus(HttpStatus.OK)public MemberInfoResponseDto responseTest(Long memberId) { ... return memberInfoResponseDto}@ResponseBody는 HTTP ..

Spring Batch에서 데이터를 처리하는 방법에는 Tasklet방식과 Chunk방식이 있다.이 두 가지 비교를 통해 각각 어떤 상황에 쓸 수 있을지 알아 두어야 적절한 데이터 처리 방식을 채택하여 배치 처리를 할 수 있을 것 같아 정리하게 됐다. Tasklet 처리 방식Tasklet은 Spring Batch에서 사용되는 인터페이스로, 배치 작업에서 단일 작업(task)을 수행하기 위한 구성 요소이다.해당 데이터 처리 방식에서 Step은 하나의 Tasklet으로 구성된다.Tasklet을 사용하면 하나의 작업을 간단하게 실행할 수 있으며, 특정 로직을 정의하여 배치 작업 중 반복적으로 실행시킬 수 있다.Tasklet의 execute() 메서드가 호출될 때마다 단일 트랜잭션이 생성되며 Tasklet의 전체..

Spring Boot 3.x 버전이 등장하며 Spring Batch 버전 또한 익히 알려져있는 4버전이 아닌 5버전을 활용하게 되었다. Spring Batch4와 5는 차이가 커서 하나씩 정리해보고자 한다.1. 다양한 JobParameter Type4.x 버전까지는 4개의 Type(Long, Double, String, Date)만을 지원했지만 5부터는 JobParameter를 커스텀해서 사용할 수 있다.원래는 제너릭을 지원하지 않았는데 제너릭 타입을 지원하는 것을 확인할 수있다. 2. Deprecated된 StepBuilderFactory와 JobBuilderFactoryImplicit configuration로 인해 StepBuilderFactory와 JobBuilderFactory가 Deprecat..

https://spring.io/projects/spring-batch Spring BatchA lightweight, comprehensive batch framework designed to enable the development of robust batch applications vital for the daily operations of enterprise systems. Spring Batch provides reusable functions that are essential in processing large volumes of respring.io 우선 배치에 대해 이해해보자배치 처리(Batch Processing)과 스프링 배치(Spring Batch)배치 처리(Batch Processi..