의존성 주입·AOP 로깅·트랜잭션 관리로 Spring 핵심 기능 활용 경험 결
Spring에서 가장 유용하게 활용한 기능은 의존성 주입(DI)입니다. 객체 간 결합도를 낮춰 테스트 코드 작성이 훨씬 수월해졌고, 인터페이스로 의존하면 구현체를 교체해도 상위 코드를 수정할 필요가 없었습니다.
AOP(관점 지향 프로그래밍)는 로깅과 트랜잭션 처리에 활용했습니다. 메서드마다 로그를 직접 넣는 대신 어노테이션 하나로 공통 로직을 적용할 수 있어 중복 코드가 크게 줄었습니다.
@Transactional 어노테이션은 편리하지만, 트랜잭션 경계를 제대로 이해하지 못하면 예외 발생 시 롤백이 안 되는 상황이 생깁니다. 이를 직접 경험하고 나서 트랜잭션 전파 속성과 격리 수준을 꼼꼼히 확인하는 습관이 생겼고, 예상치 못한 버그를 사전에 막을 수 있었습니다.