![](/img/trans.png)
[英]Cannot find Class XXX for bean with the name XXX defined in ServletContext
[英]BeansException occured :Cannot find class for bean with name 'conslEngineDAO'
這不是完整的代碼,因為我不是寫它的人,我只是在調試它。如果我需要添加任何東西,請告訴我我正在嘗試調試一個名為 DroppedToCheckReportProcess.Z93F725A07423D1C889FZ48B6 的獨立 class ,但現在我遇到了這個錯誤,我似乎可以找出問題所在。 任何幫助,將不勝感激。 我是否在 Application-context 或 spring-bean 文件中遺漏了某些內容。 最后的堆棧跟蹤。
DroppedToCheckReportProcess.java
getBean()
拋出錯誤NoSuchBeanFound
我檢查了與此類似的其他查詢,但都說@Autowire
是必需的,但它似乎對我不起作用。 這是一個遺留代碼,這就是為什么我從最新的 git 分支獲取錯誤代碼的可能性不大。 它沒有資源文件夾,所有配置文件都在配置文件夾中。
public class DroppedToCheckReportProcess {
public static void main(String[] args) {
dtcRptProc.getBean();
PayerTO payerTO = null;
List reorigCheckPaymentList = new ArrayList();
List dtpcRptRecList = new ArrayList();
ArrayList fetchPayerList = (ArrayList) enrollDAO.fetchPayers();
List uhcPayerList = new ArrayList(enrollDAO.getPayerList());
protected void getBean() {
String strContext = "getBean()";
logger.debug(strContext, "Start");
try {
String aContxt = BatchProperties.getInstance().getProperty("APPLICATION_CONTEXT");
aContxt = aContxt + "_" + System.getProperty("eps.env") + ".xml";
String sBeanCtx = BatchProperties.getInstance().getProperty("SPRING_BEANS");
String[] configFiles = new String[] { aContxt, sBeanCtx };
appContext = new ClassPathXmlApplicationContext(configFiles);
enrollDAO = (EnrollmentDAO) appContext.getBean("enrollmentDAO");
mPaymentDAO = (PaymentDAO) appContext.getBean("paymentDAO");
mPayorDAO = (PayorDAO) appContext.getBean("payorDAO");
logger.debug(strContext, "End");
} catch (BeansException e) {
logger.error(strContext, "BeansException occured :" + e.getMessage());
} catch (Exception e) {
e.printStackTrace();
logger.error(strContext, "Exception occured :" + e.getMessage());
System.exit(2);
}
}
APPLICATION_CONTEXT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- DATA SOURCE CONFIG -->
<bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>org.postgresql.Driver</value>
</property>
<property name="url">
<value>jdbc:postgresql://test</value>
</property>
<property name="username">
<value>test</value>
</property>
<property name="password">
<value>test</value>
</property>
</bean>
<!-- COMMON SESSION FACTORY CONFIG -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.default_schema">ole</prop>
<prop key="hibernate.dbcp.initialSize">1</prop>
<prop key="hibernate.dbcp.maxTotal">100</prop>
<prop key="hibernate.dbcp.maxActive">100</prop>
<prop key="hibernate.dbcp.maxIdle">50</prop>
<prop key="hibernate.dbcp.minIdle">0</prop>
<prop key="hibernate.dbcp.maxConnLifetimeMillis">-1</prop>
<prop key="hibernate.dbcp.minEvictableIdleTimeMillis">1000 * 60 * 30</prop>
<prop key="hibernate.dbcp.validationQueryTimeout">300</prop>
<prop key="hibernate.dbcp.maxWait">-1</prop>
<prop key="hibernate.dbcp.testOnBorrow">true</prop>
<prop key="hibernate.dbcp.validationQuery">select ctl_grp_id from ole.ctl_grp fetch first 1 row only with ur;</prop>
</props>
</property>
</bean>
<!-- HIBERNATE TEMPLATE CONFIG -->
<!-- Common Template Configuration Starts -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
</beans>
春天豆
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- DAO OBJECTS DEFINED -->
<bean id="conslEngineDAO" class="com.batch.dao.impl.ConslEngineDAOImpl">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
<bean id="conslEngineService" class="com.batch.services.impl.ConslEngineServiceImpl">
<property name="conslEngineDAO">
<ref bean="conslEngineDAO"/>
</property>
</bean>
<bean id="procCtlDAO" class="com.batch.dao.impl.ProcCtlDAOImpl">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
<bean id="procCtlService" class="com.batch.services.impl.ProcCtlServiceImpl">
<property name="procCtlDAO">
<ref bean="procCtlDAO"/>
</property>
</bean>
</beans>
堆棧跟蹤
Aug 28, 2022 3:34:09 PM org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons
INFO: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@fba92d3: defining beans [dataSource,sessionFactory,hibernateTemplate,conslEngineDAO,conslEngineService,procCtlDAO,procCtlService]; root of factory hierarchy
15:34:09.041 [main] INFO o.hibernate.impl.SessionFactoryImpl - closing
Aug 28, 2022 3:34:09 PM org.springframework.orm.hibernate3.AbstractSessionFactoryBean destroy
INFO: Closing Hibernate SessionFactory
15:34:09.075 [main] ERROR com.uhg.exante.dbp.batch.processor.DroppedToCheckReportProcess - getBean() :: BeansException occured :Cannot find class [com.uhg.optumHealth.batch.dao.impl.ConslEngineDAOImpl] for bean with name 'conslEngineDAO' defined in class path resource [config/spring-beans.xml]; nested exception is java.lang.ClassNotFoundException: com.uhg.optumHealth.batch.dao.impl.ConslEngineDAOImpl
java.lang.NullPointerException
at com.uhg.exante.dbp.batch.processor.DroppedToCheckReportProcess.main(DroppedToCheckReportProcess.java:96)
看起來您導入了錯誤的 class。 錯誤消息提到:
com.uhg.optumHealth.batch.dao.impl.ConslEngineDAOImpl
XML 文件:
com.batch.dao.impl.ConslEngineDAOImpl
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.