본문 바로가기

백엔드기술/스프링프레임워크18

Spring Boot 3.2 가 릴리즈 되었습니다 JDK 21 발표 이후 2달 만에 JDK 21을 정식 지원하는 Spring Boot 3.2가 릴리즈 되었습니다. Spring Framework 6.1 릴리즈 이후 일주일 만에 나왔네요. JDK 21 지원과 더불어 어떤 새로운 기능들이 추가되었는지 정리했습니다. 1. 가상스레드 지원 가상 스레드를 사용하기 위해서는 JDK21 에서 실행해야 하고, spring.threads.virtual.enabled 속성을 true로 설정해야 합니다. 가상스레드를 활성화하면, Tomct이나 Jetty는 요청 처리에 가상스레드를 사용하게 됩니다. 그리고 applicationTaskExecutor Bean 은 가상스레드 사용을 위한 SimpleAsyncTaskExecutor으로 변경됩니다. 이로 인해서 @Async 호출로 E.. 2023. 11. 27.
ChatGPT 로 Spring Boot 프로젝트 뚝딱 만들기 ChatGPT 잘 활용하고 계신가요? 오늘은 ChatGPT 를 이용하여, Spring Boot 프로젝트를 한번 뚝딱 만들어보려고 해요. 샘플에서는 Spring Boot와 코틀린으로 작성된 도서 관리 서비스 프로젝트를 만들꺼예요. 단계별로 따라하기만 해보세요. 어떻게 활용할 수 있을지 감이 오실겁니다. 자 그럼 한번 해보실까요? 0️⃣ 준비 단계 : Spring Boot 프로젝트 생성 아래 사이트에서 Spring Boot 프로젝트를 생성합니다. https://start.spring.io/ 1️⃣ 단계 : API 설계하기 만들고자 하는 API 를 먼저 설계합니다. 제가 구글 엑셀에 미리 샘플을 만들어 두었어요. https://docs.google.com/spreadsheets/d/1jjumPWpmNbc_wX.. 2023. 2. 24.
[사소한 TIP] Spring Data JPA에서 FindBy 와 FindAllBy 차이점 Spring Data JPA를 사용하다보면 지금 상황에서 findBy 를 써야할지 FindAllBy를 써야할지 고민해보신적 있나요? 저는 보통 collection 을 리턴하면 findAllBy를 사용하고, 리스트로 반환은 되지만 1개의 아이템이 예상되면 findBy를 쓰곤 했는데요. 결론 먼저 말씀드리면 findBy와 findAllBy 는 동일한 동작을 합니다. 1. Entity 와 Repository 선언 아래와 같은 Entity와 Repository가 있습니다. Player @Entity public class Player { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private Integer score; //all-.. 2023. 2. 17.
Spring Boot 3.0 무엇이 달라질까? Spring Boot 3 (Spring Framework 6) 무엇이 달라질까? 지난 10월 20일 Spring Boot 3.0.0 RC1 가 릴리즈 되었습니다. 정식 버전 릴리즈는 11월 말 예정입니다. "We are not expecting any more features to be added at this point, and we will only be making API changes if we find issues." "현재로서는 더 이상 기능이 추가되지 않을 것이며 문제가 발견되는 경우에만 API를 변경할 것입니다." 많은 서버 개발자분들은 Spring Boot 3 에는 무엇이 추가되고 달라질지 궁금하실텐데요. 더 이상 기능이 추가되진 않을 것 같아 RC1 기준으로 새로운 내용들을 정리해 보았.. 2022. 11. 1.
Spring Boot 2.4 이후 적용된 버전 체계 이번에 Spring Boot 2.4.3 을 사용하게 되면서, 버전체계가 바뀌었다는 것을 알았다. 기존에는 OSGi Semantic Versioning 과 호환되는 동일한 버전을 사용했었는데, 2.4.x 이후부터는 버전 체계가 개발자들에 친숙한 Semantic Version 으로 변경이 있었다. 변경된 버전 체계는 아래와 같다. Major : 이 번호가 올라가면 매우 큰 변화가 있음을 의미하며, 업그레이드 하는데 상당한 작업이 필요할 수 있다. Minor : 이 번호가 올라가면 기능들이 추가되지만 업그레이드 작업시 영향이 적다. Patch : 이 번호가 올라가면 업그레이드시 추가 작업이 필요하지 않다. Modifier : 아래와 같은 케이스별로 사용이 되며, 추가 배포시 정수값이 증가합니다. - 마일스톤의.. 2021. 2. 20.
Netflix DGS (Domain Graph Service) 시작하기 최근 Netflix 에서 Spring Boot에서 GraphQL 사용을 위한 DGS(Domain Graph Service) Framework 를 공개했다. GraphQL은 페이스북에서 공개한 API Query Language이다. 기존 Rest API 의 단점들을 보완하고 새로운 패러다임을 제시하여 현재 GitHub API 등 널리 쓰이고 있다. GraphQL은 단일 접점(End Point) 제공을 하며, 클라이언트가 원하는 데이터를 정확하게 응답해주는 방식이다. 예를 들어, 게시글 정보를 조회하려고 할 때 아래와 같은 Query를 요청하면 API서버는 요청에 맞는 정보만 내려주는 방식이다. query { articles(count: 20, offset: 0) {// 가장 최신의 20개 게시글 요청 id.. 2021. 2. 7.