반응형

toby spring 3

[토비의 스프링 3.1 Vol 1] 6장. AOP (~6.3)

6장 AOP 스프링에 적용된 가장 인기 있는 AOP의 적용 대상은 바로 선언적 트랜잭션 기능이다. 6.1 트랜잭션 코드의 분리 6.1.1 메소드 분리 비즈니스 로직 코드 사이에 두고 트랜잭션 시작과 종료를 담당하는 코드가 앞뒤에 위치하고 있다. 트랜잭션 경계설정의 코드와 비즈니스 로직 코드 간에 서로 주고받는 정보 없이 독립적인 코드다. 비즈니스 로직을 담당하는 코드를 메소드로 추출해서 독립시킨다. 6.1.2 DI를 이용한 클래스의 분리 여전히 트랜잭션을 담당하는 기술적인 코드가 UserService 안에 있다. 간단하게 트랜잭션 코드를 클래스 밖으로 뽑아내면 된다. DI의 기본 아이디어를 이용하면 된다. 실제 사용할 오브젝트의 클래스 정체는 감춘 채 인터..

[토비의 스프링 3.1 Vol 1] 4장. 예외 처리

4.1 사라진 SQLException JdbcTemplate 적용 이전에 있던 throws SQLException 선언이 적용 후에는 사라졌다.  4.1.1 초난감 예외처리예외 블랙홀 예외를 잡고는 아무것도 하지 않는다. 예외 발생을 무시해버리고 정상적인 상황인 것처럼 다음 라인으로 넘어간다.try { ...}catch (Exception e) {} 콘솔 로그를 누군가 계속 모니터링 하지 않는 한 심각한 문제로 남아있게 된다. } catch (SQLException e) { System.out.println(e);}} catch (SQLException e) { e.printStackTrace();} 무의미하고 무책임한 throws위의 케이스보다는 조금 낫긴 하지만 메소드 선언에서 의미 있는 정보를 얻을..

[토비의 스프링 3.1 Vol 1] 2장. 테스트

2장. 테스트 2.1 UserDaoTest 다시 보기 public class UserDaoTest { public static void main(String[] args) throws ClassNotFoundException, SQLException { ApplicationContext context = new AnnotationConfigApplicationContext(DaoFactory.class); UserDao dao = context.getBean("userDao", UserDao.class); User user = new User(); user.setId("whiteship"); user.setName("백기선"); user.setPassword("married"); dao...

반응형