小编Cpt*_*age的帖子

如果没有@Primary,Spring @Qualifier就无法运行

所以,我正在尝试用Spring Boot学习.我试过@Qualifier和@Autowired但它给了我以下错误:

io.cptpackage.springboot.bootdemo.BinarySearch中构造函数的参数0需要一个bean,但是找到了2个:

即使我提供了正确的@Qualifier它也不起作用,直到其中一个依赖项有一个@Primary注释,名称引用也不起作用我使用@Primary或​​@Qualifier并且你知道我有问题用@Qualifier的东西.代码很简单,如下所示.

@Component 
public class BinarySearch {

// Sort, Search, Return the result!
@Autowired
@Qualifier("quick")
Sorter sorter;

public BinarySearch(Sorter sorter) {
    super();
    this.sorter = sorter;
}

public int search(int[] numbersToSearchIn, int targetNumber) {
    sorter.sort(numbersToSearchIn);
    return targetNumber;
 } 
}
Run Code Online (Sandbox Code Playgroud)

第一个依赖:

@Component
@Qualifier("bubble")
public class BubbleSort implements Sorter {

    @Override
    public int[] sort(int[] targetArray) {
        System.out.println("Bubble sort!");
        return targetArray;
    }

}
Run Code Online (Sandbox Code Playgroud)

第二个依赖:

@Component
@Qualifier("quick")
public class QuickSort implements Sorter {

    @Override
    public int[] sort(int[] targetArray) {
        System.out.println("Quick Sort!");
        return targetArray; …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-boot

5
推荐指数
2
解决办法
4839
查看次数

如何使一个类只能扩展而不能直接在java中使用?

如何使一个类只能扩展,不能直接使用,并且每个子类都有不同的方法实现?我考虑过接口,但是接口不会强迫我初始化变量只是让我实现我想要的东西,这使得每个子类都必须初始化它们扩展的一些特定变量.

java

-1
推荐指数
1
解决办法
500
查看次数

标签 统计

java ×2

spring ×1

spring-boot ×1

spring-mvc ×1