본문 바로가기
728x90
728x90

springboot7

[@Transactional은 만능이 아니다!] Checked Exception과 @Transactional: 초보 스프링 개발자를 위한 가이드 Checked Exception과 @Transactional: 초보 스프링 개발자를 위한 가이드스프링(Spring) 프레임워크는 개발 생산성을 높이고, 복잡한 트랜잭션 관리 및 예외 처리를 간소화하는 데 강력한 도구를 제공합니다. 하지만 초보 개발자들은 Checked Exception과 트랜잭션 처리에 대해 자주 혼란스러워합니다. Checked Exception은 발생 시 반드시 처리해야 하는 특징을 가지며, 이는 코드의 안정성을 보장하지만 스프링의 기본 트랜잭션 관리 규칙과 충돌할 수 있습니다.이 글에서는 Checked Exception과 @Transactional 어노테이션의 기본 개념을 설명하고, 트랜잭션 관리에서 Checked Exception의 중요성을 실제 애플리케이션 사례를 통해 다룹니다. .. 2025. 1. 23.
[Spring; 스프링] 직렬화와 역직렬화: Jackson ObjectMapper와 스프링부트에서의 활용 직렬화와 역직렬화는 데이터 저장 및 전송 시 자주 사용되는 개념입니다. 특히 Java와 같은 언어에서 객체를 효율적으로 다루기 위해 필수적인 기술입니다. 이 글에서는 직렬화와 역직렬화의 기본 개념을 소개하고, ObjectMapper를 활용한 JSON 데이터 변환 예제를 통해 어떻게 활용할 수 있는지 알아보겠습니다. 더 나아가, 스프링부트(Spring Boot) 환경에서 이를 어떻게 활용할 수 있는지 살펴보겠습니다.1. 직렬화(Serialization)와 역직렬화(Deserialization)란?1.1 직렬화(Serialization)직렬화는 객체의 상태를 저장하거나 네트워크로 전송할 수 있는 형식(예: JSON, XML, 바이너리 데이터)으로 변환하는 과정입니다. 이를 통해 메모리에 존재하는 객체를 파일.. 2024. 9. 23.
[Spring; 스프링] Spring Boot Configuration Processor 란? (feat. 메타데이터; Metadata) Spring Boot Configuration Processor 스프링 부트 Configuration Processor는 스프링 부트 프로젝트에서 사용되는 어노테이션 프로세서입니다. 이 프로세서는 @ConfigurationProperties 어노테이션으로 마킹된 클래스들을 처리하고, 해당 클래스들의 설정 값을 바인딩하여 사용할 수 있게 해줍니다. Configuration Processor는 스프링 부트의 자동 구성 기능을 향상시키고, 애플리케이션 설정을 더 쉽게 관리할 수 있게 도와줍니다. 이를 통해 개발자는 application.properties나 application.yml 파일에 작성된 설정 값을 자동으로 매핑하여 사용할 수 있습니다. 이 프로세서는 스프링 부트의 의존성으로 제공되며, 일반적으로 .. 2023. 12. 18.
[Spring; 스프링] Swagger 설정 Spring Boot 프로젝트에서 Swagger를 설정하는 방법은 다음과 같습니다. 1. Maven 또는 Gradle 의존성 추가 Maven: io.springfox springfox-boot-starter 3.0.0 Gradle: implementation 'io.springfox:springfox-boot-starter:3.0.0' // 현재 사용 가능한 최신 버전으로 업데이트하세요 2. Swagger 설정 클래스 생성 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInf.. 2023. 10. 24.
[Spring; 스프링] RequestRejectedException - Spring Security 아침마다 에러로그를 확인하는데 처음 보는 에러 로그가 있었다. 2023-10-17 18:18:17 ERROR [org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]] Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL contained a potentially malicious String "//" at org.. 2023. 10. 18.
[Spring; 스프링] SpringBoot JPA Entity 오늘은 SpringBoot JPA Entity에 대해 설명해드리겠습니다. 😊😊 SpringBoot JPA Entity란 스프링 부트에서 JPA를 사용하기 위해 정의하는 클래스입니다. JPA는 Java Persistence API의 약자로, 자바에서 관계형 데이터베이스와 객체를 매핑하는 기술입니다. @Entity 어노테이션을 사용하면 해당 클래스가 JPA 엔티티임을 선언할 수 있습니다. 엔티티는 데이터베이스의 테이블과 일대일로 대응하며, 각 엔티티 인스턴스는 테이블의 행을 나타냅니다. @Entity 어노테이션은 클래스 레벨에 적용하며, 엔티티의 이름은 기본적으로 클래스의 이름과 같습니다. name 속성을 사용하면 엔티티의 이름을 변경할 수 있습니다. 예를 들어, @Entity (name="student").. 2023. 10. 4.
728x90
728x90