유연성 \- aop, di를 통해 기능을 조립하는 것이 가능하다.psa실용적인 javaEE 사용과 빠른 스펙의 반영pojo기반의 개발을 많이 하여 테스트에 용이하다.어노테이션을 사용하여 편리한 개발이 가능AOP(Aspect Oriented Programming)는 관
스프링은 이전에 프레임워크와 의존성이 매우 높았던 EJB대신 POJO객체를 쓰는 것을 강조한다. POJO란 프레임워크에 독립적인 객체를 의미한다.singleton: 한번만 생성해서 캐시해두고 계속해서 사용(디폴트) \- 상태가 없을 때이뮤터블 할 때상태가 있어도 생성
오브젝트와 RDB 사이에 존재하는 패러다임의 불일치 때문에 요구되는 불편한 작업들(sql 작성, 자바 객체에서의 상속 - DB에서는 외래키로, 다형성, 레퍼런스, 오브젝트 합성)을 대신 해결해준다. DB와 자바 객체의 자동 매핑, SQL자동생성 등이 존재.mybatis
트랜잭션 추상화 \- 서비스의 종류나 환경이 변화되더라도 트랜잭션을 사용하는 코드는 그대로 유지 가능 트랜잭션 동기화PlatformTransactionManager의 구현체들을 사용getTransaction -> commit or rollbac 메서드 사용위
데이터베이스와 자바 간 패러다임의 불일치를 해결하기 위한 도구. 개발자들이 비즈니스 로직에 집중할 수 있게 도와준다.패러다임 불일치 해결 \- 반복되는 SQL 자동 생성자바에서의 상속을 데이터베이스와 매핑해서 객체지향적인 구조를 유지할 수 있게 도와줌패러다임의 불일치