트랜잭션 3

[Spring] 프록시 패턴(Proxy Pattern)

✏️ 한 줄 정리프록시 패턴은 실제 객체 대신 프록시 객체가 요청을 가로채어, 추가적인 기능(트랜잭션, 로깅, 보안 등)을 수행한 후 실제 객체를 호출하는 디자인 패턴 프록시 패턴(Proxy Pattern) 이란 ?프록시 패턴은 객체에 대한 접근을 제어하기 위해 대리자(Proxy) 객체를 두는 디자인 패턴이다.즉, 실제 객체 대신 프록시 객체가 먼저 호출을 가로채고, 필요하면 실제 객체를 호출하는 구조를 가진 패턴 Spring에서 프록시 패턴을 사용하는 경우1. 트랜잭션 관리 (@Transaction)- 트랜잭션을 시작하고, 메서드 실행 후 커밋 또는 롤백 2. AOP (Aspect-Oriented Programming, @Aspect)- 로깅, 성능 모니터링, 보안 검증 등 부가기능 적용- @Befor..

Java/Spring 2025.03.17

[Spring] 트랜잭션

1. Spring에서 트랜잭션 관리Spring 프레임워크에서는 @Transactional 어노테이션을 사용해 간단히 트랜잭션을 관리할 수 있다. 트랜잭션은 보통 서비스 계층에서 사용되며, 데이터베이스의 상태를 변경하는 작업을 안전하게 처리한다.@Servicepublic class ExampleService { @Transactional public void insertDatabase() { // logic }} 위 코드에서 @Transactional 을 메서드에 적용하면, 메서드가 실행되는 동안 트랜잭션이 활성화된다. 만약 메서드 내에서 예외가 발생하면 트랜잭션이 자동으로 롤백된다.2. 전파 레벨(Propagation)Spring의 트랜잭션은 다양한 전파 레벨(Propagat..

Java/Spring 2025.03.16

[Java] 트랜잭션

Java에서 트랜잭션(Transaction)은 데이터베이스 상태를 관리하기 위한 중요한 개념이다. 트랜잭션은 여러 작업을 하나의 논리적인 작업 단위로 묶어주며, 모든 작업이 성공해야지만 전체 작업이 커밋(commit)되고, 중간에 하나라도 실패하면 롤백하여 데이터의 일관성을 유지한다. 1. 트랜잭션의 ACID 속성원자성(Atomicity) : 트랜잭션 내 모든 작업이 하나의 단위로 실행되어야 하며, 일부만 성공하거나 실패해서는 안된다. 즉, 증간에 오류가 발생하면 트랜잭션 전체가 롤백된다.일관성(Consistency) : 트랜잭션이 완료되면 데이터베이스가 일관된 상태를 유지해야 한다.고립성(Isolation) : 트랜잭션 간 서로 독립적으로 실행되며, 트랜잭션이 완료되기 전까지 다른 트랜잭션이 중간 상태..

Java/기본 2024.11.11