taken from vonzhou/SpringInAction3 Ch4 Aspect-oriented Spring Spring in Action by CRAIG WALLS (3rd edition)