java不是可用的_java-没有名为xxx的bean可用

这是一个非常简单的程序,具有JavaLoader这个主类,一个接口Student.学生由两个班级实施.

我也做了一个配置类.当我从主类实例化bean并在Samir上调用方法时.抛出NoSuchBeanDefinitionException.

主类(JavaLoader):

package spring;

import org.springframework.context.ApplicationContext;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class JavaLoader {

public static void main(String[] args) {

AnnotationConfigApplicationContext appContext = new

AnnotationConfigApplicationContext("StudentConfig.class");

Student samir = (Student) appContext.getBean("samir", Student.class);

System.out.println(samir.readsBook());

}

}

StudentConfig类:

package spring;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.Configuration;

@Configuration

@ComponentScan("spring")

public class StudentConfig {

}

萨米尔班:

package spring;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Qualifier;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.stereotype.Component;

@Component("samir")

public class Samir implements Student{

@Autowired

@Qualifier("history")

Book book;

public Samir(Book book){

this.book = book;

}

public String readsBook(){

return book.readBook();

}

}

预期的输出是应该执行JavaLoader上的方法samir.readsBook()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值