One reason I can think of is if you are reusing different jars/components and they require different names. For example, suppose on needs a "abcDatasource" and the other needs a "defDataSource." You want to refer to the same bean and only declare it once. Aliasing solves this problem.