1. The four kinds of autowiring
a. byName - Attempts to match all properties of the autowired bean with beans that have the same name (or ID) as the properties. Properties for which there’s no matching bean will remain unwired.
b. byType - Attempts to match all properties of the autowired bean with beans whose types are assignable to the properties. Properties for which there’s no matching bean will remain unwired.
c. constructor - Tries to match up a constructor of the autowired bean with beans whose types are assignable to the constructor arguments.
d. autodetect - Attempts to apply constructor autowiring first. If that fails, byType will be tried.
2.