我贴下测试类:
import org.springframework.jdbc.core.JdbcTemplate;import dispatcher.service.DsServer;
import dispatcher.service.DsService;
import dispatcher.service.JobServer;
import dispatcher.service.JobService;import dispatcher.pool.DBPool;public class Test {JdbcTemplate jdbcTemplate=(JdbcTemplate)DBPool.getBean("jdbcTemplate");public static void main(String args) throws ParseException{
String message=test.doSpTest();
System.out.println(message);
}
public String doSpTest(){
String message=null;
JobService js=new JobServer();
DsService ds=new DsServer();
DPJob job=js.getJobByJobName("SP_JOB2");
List<Param> params=js.getParamByJobName(job.getJobNm());
DbServerVo dbVo =ds.getDbByJobName(job.getRunServer());
try {
AgentService agService=new AgentServiceImpl();
message=agService.DoSp(job, dbVo, params);
} catch (Exception e) {
e.printStackTrace();
}
return message;
}
}
下面是错误信息,我的spring配置文件里没有配置注入方式,只是用来获取数据库连接
Exception in thread "main" java.lang.NoClassDefFoundError: org.springframework.beans.FatalBeanException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:883)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:826)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:880)
at dispatcher.pool.DBPool.getBean(DBPool.java:33)
at dispatcher.service.DsServer.<init>(DsServer.java:26)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)springJdbcTemplate
import org.springframework.jdbc.core.JdbcTemplate;import dispatcher.service.DsServer;
import dispatcher.service.DsService;
import dispatcher.service.JobServer;
import dispatcher.service.JobService;import dispatcher.pool.DBPool;public class Test {JdbcTemplate jdbcTemplate=(JdbcTemplate)DBPool.getBean("jdbcTemplate");public static void main(String args) throws ParseException{
String message=test.doSpTest();
System.out.println(message);
}
public String doSpTest(){
String message=null;
JobService js=new JobServer();
DsService ds=new DsServer();
DPJob job=js.getJobByJobName("SP_JOB2");
List<Param> params=js.getParamByJobName(job.getJobNm());
DbServerVo dbVo =ds.getDbByJobName(job.getRunServer());
try {
AgentService agService=new AgentServiceImpl();
message=agService.DoSp(job, dbVo, params);
} catch (Exception e) {
e.printStackTrace();
}
return message;
}
}
下面是错误信息,我的spring配置文件里没有配置注入方式,只是用来获取数据库连接
Exception in thread "main" java.lang.NoClassDefFoundError: org.springframework.beans.FatalBeanException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:883)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:826)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:880)
at dispatcher.pool.DBPool.getBean(DBPool.java:33)
at dispatcher.service.DsServer.<init>(DsServer.java:26)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)
at dispatcher.service.JobServer.<init>(JobServer.java:28)
at dispatcher.service.DsServer.<init>(DsServer.java:29)springJdbcTemplate
解决方案 »
- Jsp分页处理
- 跪求SSH整合的项目代码
- 大虾来帮忙下!用Spring事务,做测试,数据没有回滚!
- 使用poolman连接池后写入session的值为null
- 需要程序员,设计师?请来任务中国看看!
- 哪能弄到免费美河在线的vip号?可加分。
- axis问题,编译成功,在JBuilder里面也可以运行,但是export出来.exe,单独运行时候会有以下异常
- 请教如何解决tomcat5.5显示html页面时出现中文乱码?
- 这期的<<程序员>>精采,J2EE Without EJB
- 只是用http的方法访问一下页面,用什么方式实现呢?
- java的class如何实现不能被反编译
- java concurrent多线程
org.springframework.expression-3.0.2.RELEASE.jar 有吗
我用过一段时间的jdbcTemplate,但没碰到过lz提供的这种错误,不知道有没有帮助
错误说的很清楚了,没有找到FatalBeanException这个类,你该是Jar的问题,Jar包不要东拼西凑的,去官方下载开发库,然后使用库里面提供的jar文件。
可能这种获取bean的方式有问题,就如楼上所说
也可能这个jdbcTemplate就没被正确配置为一个spring bean
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName"> <value>oracle.jdbc.driver.OracleDriver</value> </property>
<property name="url"><value>jdbc:oracle:thin:@10.196.30.10:1521:olids</value></property>
<property name="username"><value>olidsdev</value></property>
<property name="password"><value>olidsdev</value></property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" singleton="false" >
<property name="dataSource"><ref bean="dataSource" /></property>
</bean>
</beans>
至于DBPool就相当于我把读取spring配置文件放在这里面去了,这个类只是个单例.
DBPool:
public class DBPool { private ScheduledThreadPoolExecutor Pool = null;
private IDbService DbService = null;
private static ApplicationContext ctx = new ClassPathXmlApplicationContext(
"schedulingContext.xml");// /**
* @return the dbService
*/
public IDbService getDbService() {
return DbService;
} private DBPool() { Pool = new ScheduledThreadPoolExecutor(300);
} public static Object getBean(String beanName){
return ctx.getBean(beanName);
}
private static DBPool instance = new DBPool(); public static DBPool geInstance() {
return instance;
}
}
前面的这个jar包有的,后面的这个没有,但是如果我不使用DsService ds=new DsServer();这中方式,把其中的方法全搬到一个测试类中去,执行是没有问题的。
这中获取bean的方式是没有问题的,现在发现,如果不是用接口和实现类,把实现类中的方法全搬到测试类中,直接调用,是可以的。
应该不是jar包的问题,我在spring.jar里找到FatalBeanException这个类了。还有,如果是jar包的问题,应该我其余的方法是不可以运行的,但是有的方法还是可以的。就不知道这是啥情况了
你是说直接这样在测试类中调用
private static ApplicationContext ctx = new ClassPathXmlApplicationContext(
"schedulingContext.xml");
ctx.getBean("jdbcTemplate");
是没问题的?
肯定Debug过,报错信息就是从JobService js=new JobServer();DsService ds=new DsServer();开始,不能实例化。
你是说直接这样在测试类中调用
private static ApplicationContext ctx = new ClassPathXmlApplicationContext(
"schedulingContext.xml");
ctx.getBean("jdbcTemplate");
是没问题的?没问题的。不是Bean实例化的问题
at dispatcher.pool.DBPool.getBean(DBPool.java:33)
现在已经没这个问题了?
at dispatcher.pool.DBPool.getBean(DBPool.java:33)
现在已经没这个问题了?
没问题的。DEBUG过程中,出错就是在这里 JobService js=new JobServer();DsService ds=new DsServer();问题是,我这里面只是些方法的实现,没啥别的东西。
谢谢指正!