bean本质上就是对象,创建bean使用构造方法完成
BookDao
BookDaoImpl
将构造私有化,依然正常运行
改成有参构造报错:
Exceptioninthread"main"org.springframework.beans.factory.BeanCreationException:Errorcreating beanwithname'bookDao'definedinclasspath resource[bean.xml]:Failedto instantiate[com.baidu.spring6.dao.impl.BookDaoImpl]:Nodefaultconstructor found atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1306)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1198)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521)atorg.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326)atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:961)atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:915)atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584)atorg.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144)atorg.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:85)atcom.baidu.spring6.App3.main(App3.java:9)Causedby:org.springframework.beans.BeanInstantiationException:Failedto instantiate[com.baidu.spring6.dao.impl.BookDaoImpl]:Nodefaultconstructor found atorg.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:83)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1300)...13moreCausedby:java.lang.NoSuchMethodException:com.baidu.spring6.dao.impl.BookDaoImpl.<init>()at java.base/java.lang.Class.getConstructor0(Class.java:3585)at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2754)atorg.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:79)...14moreProcessfinishedwithexit code1