java类型不匹配:无法从对象转换为accountdao

cgvd09ve  于 2021-07-26  发布在  Java
关注(0)|答案(3)|浏览(357)

你好,我在做一个简单的spring应用程序,由于某种原因出现了这个错误:
类型不匹配:无法从对象转换为accountdao
我有三节课,分别是:

package com.luv2code.aopdemo.dao;

import org.springframework.stereotype.Component;

@Component
public class AccountDAO {

    public void addAccount() {

        System.out.println(getClass() + ": DOING MY DB WORK: ADDING AN ACCOUNT");

    }

}

演示配置:

package com.luv2code.aopdemo;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;

@Configuration
@EnableAspectJAutoProxy
@ComponentScan("com.luv2code.aopdemo")
public class DemoConfig {

}

和maindemoapp:

package com.luv2code.aopdemo;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import com.luv2code.aopdemo.dao.AccountDAO;

public class MainDemoApp {

    public static void main(String[] args) {

        //read spring config java class
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DemoConfig.class);

        //get the bean from spring container
        AccountDAO theAccountDAO = context.getBean("accountDAO", AccountDAO.class); //THE PROBLE IS HERE

        //call the business method
        theAccountDAO.addAccount();

        //close the context
        context.close();

    }

}

错误在maindemoapp中的accountdao theaccountdao=context.getbean(“accountdao”,accountdao.class)(只有后面的部分是红色的)

jq6vz3qz

jq6vz3qz1#

你能试试这个吗: AccountDAO theAccountDAO = (AccountDAO) context.getBean("accountDAO", AccountDAO.class);

brc7rcf0

brc7rcf02#

尝试 context.refresh() 之前 context.getBean(...) 打电话,如果没有帮助,请执行以下操作:
注解 MainDemoApp.java@SpringBootApplication .
删除 @ComponentScanDemoConfig 创建 @Bean 明确地。
在调试模式下启动,查看是否点击bean创建 AccountDAO .

k75qkfdt

k75qkfdt3#

我一直试图从buildpath中一个接一个地删除(如果没有任何更改,则读取)一个库,只是为了尝试,即使我不知道会有什么效果。删除org.springframework.context.jar后,错误消失了。
哈哈。有人能解释一下吗?

相关问题