[토비의 스프링] 5장 서비스 추상화
앞쪽의 내용은 유저등급을 올리는 upgradeLevels() 메서드의 리팩터링 과정 비즈니스 로직에서의 경계설정 유저들의 등급을 올리다가 하나에 문제가 생기면 전체를 롤백해달라는 요구사항에 대응해야한다. 현재구조는 UserDao의 메서드가 사용될때마다 JdbcTemplate에 의해 트랜잭션이 생겼다 커밋됐다 반복함으로 롤백을 시킬수가 없어 어쩔수 없이 트랜잭션 경계를 UserService에서 설정해야한다. public void upgradeLevels() throws Exception { Connection c = dataSource.getConnection(); try { // 유저 등급 업그레이드 비지니스 로직 user.upgradeLevel(); userDao.update(c, user); // j..