spring annotation based config (@Configuration)