5.2.1 모 아니면 도 p.350
강제 예외 발생시키기 위해 Test클래스 안에 static 클래스를 만들어 테스트함
5.2.3 트랜잭션 동기화 p.365
스프링이 제공하는 TransactionManager로 커넥션을 불러와 Transaction을 관리하게 변경
이에 맞춰 테스트도 진행, upgradeLevels에서 dataSource사용을 위해 userService 빈 설정 변경
5.2.4 트랜잭션 서비스 추상화 p.371
PlatformTxManager 인터페이스를 사용해 DataSourceTxManager JDBC 트랜잭션 오브젝트 생성
5.2.4 트랜잭션 서비스 추상화 p.375
트랜잭션 기술 설정의 분리 transactionManager를 bean으로 분리, 다른 transactionManager를 쓰려면 클래스를 변경함으로 설정
5.4.1 JavaMail을 이용한 메일 발송 기능 p.381
User 필드에 email 추가, UpgradeLevel시 sendUpgradeEMail 발송기능 추가,
메일서버 미구현