我正在尝试一个使用jdbc和Spring连接到数据库的例子,并得到下面的异常。请指教。
例外情况:
Aug 17, 2017 10:44:51 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@6422b8ff: startup date [Thu Aug 17 22:44:51 IST 2017]; root of context hierarchy
Aug 17, 2017 10:44:51 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [spring.xml]
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'daoClass' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:638)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1159)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:282)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:979)
at org.manjosh.main.JdbcMain.main(JdbcMain.java:14)
主要类:
package org.manjosh.main;
import org.manjosh.dao.DaoClass;
import org.manjosh.model.Circle;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class JdbcMain {
public static void main(String[] args){
ApplicationContext ctx = new ClassPathXmlApplicationContext("spring.xml");
DaoClass dao = ctx.getBean("daoClass",DaoClass.class);
Circle circle = dao.getCirle(1);
System.out.println(circle.getName());
}
}
道类:
package org.manjosh.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.manjosh.model.Circle;
import org.springframework.stereotype.Component;
@Component
public class DaoClass {
public Circle getCirle(int circleId){
String driver = "oracle.jdbc.driver.OracleDriver";
Connection conn = null;
try{
//step1 load the driver class
Class.forName(driver).newInstance();
//step2 create the connection object
conn =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","system");
//step3 create the statement object
PreparedStatement stmt=conn.prepareStatement("SELECT * FROM circle where ID =?");
stmt.setInt(1, circleId);
Circle circle = null;
//step4 execute query
ResultSet rs=stmt.executeQuery();
while(rs.next()){
circle = new Circle(rs.getInt(circleId),rs.getString("name"));
}
rs.close();
stmt.close();
return circle;
}
catch(Exception e){
throw new RuntimeException(e);
}
finally {
try{
conn.close();
}
catch(SQLException e){}
}
}
}
spring 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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config/>
<context:component-scan base-package = "org.manjosh.main"/>
</beans>
<代码>
要解决NoSuchBean定义异常问题,请在spring.xml文件中进行以下更改
代替
<context:component-scan base-package = "org.manjosh.main"/>
具有
<context:component-scan base-package = "org.manjosh.dao,org.manjosh.main"/>
或
<context:component-scan base-package = "org.manjosh.dao"/>
或者
<context:component-scan base-package = "org.manjosh.*"/>
或者
<context:component-scan base-package = "*"/>
在spring中。xml
,您已将组件扫描配置定义为
更改<代码>
最近我正在学习Spring框架。所以我正在尝试检查依赖注入在Spring框架中的工作原理。因此,我创建了一个新的java项目并使用基于构造函数XML的配置练习依赖注入代码。运行我的项目后,我收到了这个错误...... 类路径资源[com/mir00r/beans.XML]的XML文档中的第24行无效;嵌套异常为组织。xml。萨克斯。SAXParseException;行号:24;列数:9;cvc复
我正在学习selenium并尝试运行以下代码,但它引发了异常。NoSuchFieldError:空字节数组。请帮助我理解这个简单的程序出了什么问题。 控制台: 异常线程"main"java.lang.NoSuchFieldError:EMPTY_BYTE_ARRAY
我在Windows 10上使用Netbean上的JDK 14。在IDE环境中一切正常。但是,当我尝试从命令提示符编译和运行源文件时,我得到了。 系统变量中的PATH和CLASSPATH包含,。 如果我从命令提示符发出java-version,在java_主目录中,我会得到以下结果: 如果我从java_HOME\bin目录发布java-version,我会收到下面列出的另一条消息: 我不确定为什么?
我正在看一张桌子。其中一列包含压缩(二进制)数据。我正在解压缩这些数据并存储在另一个RDD中。它给出了以下错误: 线程“main”组织中出现异常。阿帕奇。火花SparkException:作业因阶段失败而中止:阶段2.0中的任务0失败1次,最近的失败:阶段2.0中的任务0.0丢失(TID 2,localhost,executor driver):java。util。同时发生的ExecutionEx
我正在尝试创建一个实用程序类,以使用 java.util.扫描仪从标准控制台获取输入 在另一个类中调用静态方法时, 工作正常,但是下面的方法 会导致异常。 运行此命令会导致以下异常 我注意到的有趣的事情是,如果我注释掉第一个输入过程,数组输入工作正常。
我正在尝试编译一个测试。avsc和avro模式文件转换为java代码。线程“main”org.apache.avro中出现异常。SchemaParseException:无法重新定义:test.record4 这个想法是record4应该在name4和name5中具有相同的类型 我的test.avsc是: