再次重构，加入Guice