UserSerivce를 Interface로 만들고, 그걸 구현한 UserServiceTx와 UserServiceImpl클래스를 생성했다.

UserServiceImpl클래스는 비지니스 로직을 담고있고, UserServiceTx는 트랜잭션의 로직을 가지고 있다.

UserServiceTx클래스에서는 UserService인터페이스를 필드로 가지고 있어서, UserServiceImpl인스턴스를 DI받을 수 있게끔했다.

UserServiceTx에서는 트랜잭션이 시작되고, UserServiceImpl DI받은 것을 실행시킨 후, 트랜잭션을 마친다.

이에 맞게 Test관련 소스도 수정했다.