728x90 728x90 스프링8 [@Transactional은 만능이 아니다!] Checked Exception과 @Transactional: 초보 스프링 개발자를 위한 가이드 Checked Exception과 @Transactional: 초보 스프링 개발자를 위한 가이드스프링(Spring) 프레임워크는 개발 생산성을 높이고, 복잡한 트랜잭션 관리 및 예외 처리를 간소화하는 데 강력한 도구를 제공합니다. 하지만 초보 개발자들은 Checked Exception과 트랜잭션 처리에 대해 자주 혼란스러워합니다. Checked Exception은 발생 시 반드시 처리해야 하는 특징을 가지며, 이는 코드의 안정성을 보장하지만 스프링의 기본 트랜잭션 관리 규칙과 충돌할 수 있습니다.이 글에서는 Checked Exception과 @Transactional 어노테이션의 기본 개념을 설명하고, 트랜잭션 관리에서 Checked Exception의 중요성을 실제 애플리케이션 사례를 통해 다룹니다. .. 2025. 1. 23. [Java; 자바] Java 오버로딩과 오버라이딩: 개념, 차이점, 그리고 스프링부트 활용 예제 Java에서는 동일한 이름의 메서드를 다양한 방법으로 사용할 수 있는 **오버로딩(Overloading)**과 상속 관계에서 상위 클래스의 메서드를 재정의할 수 있는 **오버라이딩(Overriding)**을 제공합니다. 이 두 개념은 객체지향 프로그래밍에서 중요한 역할을 하며, 코드의 유연성과 재사용성을 높이는 데 기여합니다. 이번 포스트에서는 오버로딩과 오버라이딩의 개념과 차이점을 살펴보고, 이를 이해하기 위한 예제를 통해 차근차근 알아보겠습니다. 더 나아가, 스프링부트(Spring Boot) 환경에서 이를 어떻게 활용할 수 있는지도 알아보겠습니다.1. 오버로딩(Overloading)이란?1.1 오버로딩의 정의오버로딩은 동일한 이름의 메서드를 매개변수의 타입, 개수, 순서를 다르게 하여 여러 개 정의하.. 2024. 9. 23. [Spring; 스프링] 스프링에서 `final`과 `@RequiredArgsConstructor`로 의존성 주입(DI) 쉽게 이해하기 스프링 프레임워크를 사용하다 보면 **의존성 주입(Dependency Injection, DI)**이라는 말을 자주 듣게 됩니다. 의존성 주입은 객체 간의 의존 관계를 스프링이 대신 관리해주는 것을 의미하는데요, 이 과정을 효율적으로 하기 위해 final과 @RequiredArgsConstructor를 많이 사용합니다. 이 글에서는 이 두 가지 키워드가 무엇인지, 왜 사용하는지, 그리고 롬복(Lombok) 없이도 의존성을 주입하는 방법까지 알아보겠습니다.1. final 키워드는 무엇인가요?final은 자바에서 변수를 한 번만 초기화하고, 이후에는 변경할 수 없게 만드는 키워드입니다. 이 키워드를 사용하면 다음과 같은 장점이 있습니다:변경 방지: 해당 변수가 의도치 않게 변경되는 것을 방지합니다.안정성: .. 2024. 9. 23. [Spring; 스프링] HttpServletRequest JSP 기본 내장 객체 중 request 객체는 JSP에서 가장 많이 사용되는 객체입니다. 클라이언트(Chrome, Edge 등)로 부터 서버로 요청이 들어오면 서버에서는 HttpServletRequest를 생성하며, 요청정보에 있는 패스로 매핑된 서블릿에게 전달합니다. 이렇게 전달받은 내용들을 파라미터로 GET과 POST 형식으로 클라이언트에게 전달합니다. HttpServletRequest HttpServletRequest를 사용하면 값을 받아올 수 있습니다. 정보를 Controller에 보내면 HttpServletRequest 객체 안에 모든 데이터들이 들어갑니다. 데이터를 꺼낼때는 HttpServletRequest 객체 안의 getParameter()를 사용합니다. `getParameter` 메서드.. 2023. 11. 8. [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; 스프링] mappedBy 연관관계 mappedBy는 JPA에서 양방향 연관관계를 설정할 때 사용하는 속성입니다. mappedBy는 연관관계의 주인이 아닌 쪽에서 지정해야 하며, 연관관계의 주인을 가리키는 필드명을 값으로 줍니다. 예를들어, User엔티티와 CellularPhone 엔티티가 일대일 양방향 연관관계를 가지고 있고, User 엔티티가 연관관계의 주인이라면, CellularPhone 엔티티에서는 @OneToOne(mappedBy = "cellularPhone) 와 같이 어노테이션을 적용해야 합니다. 이렇게 하면 CellularPhone 엔티티는 User 엔티티의 cellularPhone 필드에 의해 매핑된다는 것을 나타냅니다. mappedyBy를 사용하는 이유는 양방향 연관관계에서 두 엔티티 모두가 관계를 관리하면 무한 루프에 .. 2023. 10. 4. 이전 1 2 다음 728x90 728x90