找不到 Bean 错误



这是代码片段

@Component()
public class DbConn {
@Resource(name="vDataSource")
protected DataSource dataSource;
public  void doCall () {
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(dataSource)
//          .withCatalogName(config.getPackageName())
.withProcedureName("TEST_PROC")
.withoutProcedureColumnMetaDataAccess();
}

这是我的主要课程

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring/" + "v-test.xml") ;
DbConn d1= context.getBean("dbConn",DbConn.class);

当我尝试运行 main 时,它会抛出一个错误: 没有定义名为"dbConn"的 bean

如何解决问题

我的应用程序上下文 v-test.xml 也在下面

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<context:annotation-config/>
<context:property-placeholder/>
<context:component-scan base-package="com.sgcib.v.conso" />
<import resource="classpath:spring/v-common-applicationcontext.xml"/>
<bean id="vltDataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.v.driverClassName}"/>
<property name="url" value="${jdbc.v.url}"/>
<property name="username" value="${jdbc.v.username}"/>
<property name="password" value="${jdbc.v.password}"/>
<property name="testOnBorrow" value="true" />
<property name="validationQuery" value="SELECT 1 FROM DUAL" />
</bean>
</beans>

错误堆栈如下

18:31:31.048 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'org.springframework.context.event.internalEventListenerFactory'
18:31:31.078 [main] DEBUG org.springframework.context.support.ClassPathXmlApplicationContext - Unable to locate LifecycleProcessor with name 'lifecycleProcessor': using default [org.springframework.context.support.DefaultLifecycleProcessor@77c2494c]
18:31:31.079 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'lifecycleProcessor'
18:31:31.081 [main] DEBUG org.springframework.core.env.PropertySourcesPropertyResolver - Could not find key 'spring.liveBeansView.mbeanDomain' in any property source
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'dbConn' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:677)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1180)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1082)
at test.MainClass.main(MainClass.java:16)

尝试命名您的组件:

@Component("dbConn"(

最新更新