Spring 框架主方法运行后 异常 No bean named 'XXX' is defined

来源:互联网 发布:字符串匹配算法 编辑:程序博客网 时间:2024/06/03 19:53
十月 16, 2017 3:19:37 下午 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@426a086a: startup date [Mon Oct 16 15:19:37 CST 2017]; root of context hierarchy
十月 16, 2017 3:19:37 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
十月 16, 2017 3:19:38 下午 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor <init>
信息: JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
十月 16, 2017 3:19:38 下午 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4f5b0046: defining beans [empDao01,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,template,dbcp,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; root of factory hierarchy
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'empDao02' is defined
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:570)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1114)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:279)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1121)

    at org.show51.testMain.main(testMain.java:29)




原代码:

public class testMain {
    public static void main(String[] args) {
        String conf="applicationContext.xml";
        ApplicationContext ac=
                new ClassPathXmlApplicationContext(conf);
        EmpDao01 empDao01=ac.getBean("empDao02", EmpDao01.class);
        Emp emp01=new Emp();
        emp01.setAdminId("9");
        emp01.setAdminname("tian");
        emp01.setAdminpwd("111");
        empDao01.save(emp01);
    }
}



原EmpDao01代码

@Repository
    public class EmpDao01{
    @Resource//注入
        private JdbcTemplate template;
        public void save(Emp emp){
            String sql="insert into t_test"
                    +"(adminId,adminname,adminpwd) "
                    + "values (?,?,?)";
            Object[] param={
                    emp.getAdminId(),
                    emp.getAdminname(),
                    emp.getAdminpwd()
            };
            template.update(sql, param);
        }
    }
 


报出问题就在于: EmpDao01 empDao01=ac.getBean("empDao02", EmpDao01.class);


的getBean(arg0,arg1),这个arg0的参数要是你EmpDao01  类的首字母缩写,这里实际是从这个类中获取bean对象,你要写的话就是将这个类名首字母缩写填入arg0就行了



再次运行:

十月 16, 2017 3:25:41 下午 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@6c069ec: startup date [Mon Oct 16 15:25:41 CST 2017]; root of context hierarchy
十月 16, 2017 3:25:41 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
十月 16, 2017 3:25:41 下午 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor <init>
信息: JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
十月 16, 2017 3:25:41 下午 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@7ce5bef1: defining beans [empDao01,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,template,dbcp,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; root of factory hierarchy
查询一下mysql数据库:
有这么一条数据 id:9;用户名:tian;密码:111的数据

阅读全文
0 0
原创粉丝点击