The @Primary annotation

When the @Primary annotation is used on a bean, it becomes the primary one to be used when there is more than one candidate available to autowire a specific dependency.

Consider the following example:

    interface SortingAlgorithm { 
}
@Component
class MergeSort implements SortingAlgorithm {
// Class code here
}
@Component
@Primary
class QuickSort implements SortingAlgorithm {
// Class code here
}

In the case of the following example, there are two sorting algorithms available—QuickSort and MergeSort. If the component scan finds both of them, QuickSort is used to wire any dependencies on SortingAlgorithm because of the @Primary annotation.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset