[자바 ORM 표준 JPA] ch11-1.settings (스프링 프레임워크와 스프링 부트 차이)
책과 다른 버전들을 사용했으므로 설정이 다릅니다.
설정에 대해서 다른점을 다루다보니 의도치않게 스프링프레임워크와 스프링부트의 차이점을 정리하게 됐습니다 😅
- java version 17
- springframework.boot version ‘3.1.5’
- mySql 사용
- gradle 사용
스프링 프레임워크와 스프링 부트의 트랜잭션
스프링 프레임워크에서 트랜잭션을 설정하는 아래와 같은 코드는 필요 없어졌습니다.
<tx:annnotation-driven/>
대신 아래처럼 Java 코드를 통해 설정 할 수 있지만 스프링부트에선 트랜잭션 어노테이션이 자동입니다.
@Configuration
@EnableTransactionManagement
public class TransactionConfig {
// 추가적인 설정 및 빈들을 여기에 정의할 수 있습니다.
}
스프링 프레임워크와 스프링 부트의 component-scan
SpringFramework는 <context:component-scan base-package />
로 했습니다.
Spring Boot는 @SpringBootApplication
어노테이션이 있는 메인 애플리케이션 클래스에서 시작하여 해당 패키지와 하위 패키지의 모든 컴포넌트를 스캔합니다.
스프링 프레임워크와 스프링 부트의 데이터 액세스 예외 처리
SpringFramework는 <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
을 통해
데이터 액세스 레이어에서 발생한 예외를 Spring의 예외 계층 구조로 변환하여 처리하는 역할을 합니다.
@Repository
가 붙은 스프링 빈에 예외 변환 AOP를 적용합니다.
Spring Boot는 자동으로 합니다.
스프링 프레임워크와 스프링 부트의 엔티티 탐색
@SpringBootApplication
어노테이션이 있는 메인 애플리케이션 클래스의 패키지와 하위 패키지
@EntityScan
어노테이션을 사용하여 명시적으로 지정한 패키지
댓글남기기