핵심 요약이 글에서 바로 이해할 것 @Transactional이 무엇을 보장하고, 어디에 붙일 때 의미가 살아나는지 정리합니다.이 글에서 바로 해결할 것 롤백이 안 되는 이유, readOnly = true를 붙여도 왜 수정이 되는 것처럼 보이는지 실무 관점으로 설명합니다.바로 확인할 설정 예외 타입, 프록시 호출 구조, 메서드 접근제한자, 트랜잭션 경계 위치를 체크합니다.핵심 결론 @Transactional은 "붙이면 끝"이 아니라 어디서 시작되고 어떤 예외에서 끝나는지를 알아야 제대로 쓸 수 있습니다.한눈에 보는 개념 / 구조항목설명실무 포인트@Transactional여러 DB 작업을 하나의 트랜잭션으로 묶어 성공하면 커밋하고, 실패하면 롤백하도록 만드는 Spring 선언형 트랜잭션 기능입니다.서비스 ..
Spring을 처음 공부할 때 가장 먼저 막히는 지점이 바로 IoC, DI, Bean, Container입니다. 용어는 계속 나오는데 각각이 정확히 무엇이고, 서로 어떤 관계인지 한 번에 정리되지 않아서 개념이 흐릿하게 남는 경우가 많습니다.특히 Spring Boot 예제를 따라 치다 보면 @Component, @Service, @Autowired, ApplicationContext 같은 키워드는 자주 보이는데, 왜 이런 구조를 쓰는지 이해하지 못하면 나중에 설정이나 에러를 만났을 때 훨씬 더 헷갈리게 됩니다.결론부터 말하면 Spring의 핵심은 객체를 내가 직접 만들고 연결하던 방식을 프레임워크가 대신 관리하게 바꾸는 것입니다. 이 글에서는 Spring 핵심 개념을 쉬운 정의부터 구조, 예제, 자주 막..
Spring을 처음 공부할 때 가장 많이 헷갈리는 질문 중 하나가 바로 Spring Framework와 Spring Boot는 무엇이 다르고 어떤 관계인가입니다. 검색하다 보면 어떤 글은 둘을 거의 같은 말처럼 설명하고, 어떤 글은 Boot를 전혀 다른 프레임워크처럼 소개해서 입문자 입장에서는 개념이 더 흐려지기 쉽습니다.특히 예전 글이나 요약형 자료를 보면 Spring, Spring Boot, Spring Cloud, Spring Batch, MVC 구조가 한 글 안에 한꺼번에 섞여 있는 경우가 많습니다. 그런데 실제로는 먼저 Spring Framework가 무엇인지, 그리고 Spring Boot가 Spring 위에서 어떤 문제를 해결해주는지를 분리해서 보는 편이 훨씬 이해가 쉽습니다.결론부터 말하면 ..
