我正在学习Spring框架(没有Spring Boot,为了了解它在头套下是如何工作的)。
<bean id="connectionXML" class="com.springLearning.ConnectionXML"/>
<bean id="xmlBasedDAO" class="com.springLearning.XmlBasedDAO">
<property name="XMLJdbcConnection" ref="connectionXML" />
</bean>
这是我的DAO类:
public class XmlBasedDAO {
private XMLJdbcConnection XMLJdbcConnection;
public XMLJdbcConnection getXMLJdbcConnection() {
return XMLJdbcConnection;
}
public void setXMLJdbcConnection(XMLJdbcConnection XMLJdbcConnection) {
this.XMLJdbcConnection = XMLJdbcConnection;
}
}
这是我的ConnectionXML类:
public class ConnectionXML implements XMLJdbcConnection {
@Override
public void connect() {
System.out.println("Connected");
}
}
它实现此接口:
public interface XMLJdbcConnection {
void connect();
}
public class XmlBasedDAO {
private XMLJdbcConnection XMLJdbcConnection;
public XmlBasedDAO(XMLJdbcConnection XMLJdbcConnection) {
this.XMLJdbcConnection = XMLJdbcConnection;
}
public XMLJdbcConnection getXMLJdbcConnection() {
return XMLJdbcConnection;
}
}
嵌套异常为org.SpringFramework.Beans.BeanInstantiationException:无法实例化[com.SpringLearning.XMLBasedDAO]:未找到默认构造函数;嵌套的异常是java.lang.NosuchMethodException:com.SpringLearning.XMLBasedDAO。
为什么我不能用这种配置在我的类中定义一个构造函数?为什么只是一个塞特注射会起作用?
我读了很多问题和文件,但我没有找到一个具体的案例的答案。
在Spring中,您可以使用构造函数注入或Setter注入来执行DI。
标记用于构造函数注入
标记用于setter注入
您不需要为构造函数注入更改xml,您可以这样做:
<bean id="connectionXML" class="com.springLearning.ConnectionXML"/>
<bean id="xmlBasedDAO" class="com.springLearning.XmlBasedDAO">
<constructor-arg>
<ref bean="connectionXML"/>
</constructor-arg>
</bean>
您可以查看本教程
Spring靴和jpa给出了错误 项目的github链接https://github.com/dishankgoyal/springsBoot/tree/master/faculty_project
为什么: 如果一个类不提供任何然后在编译时由编译器给出,但是如果一个类包含,那么默认构造函数不是由编译器提供。 我正在编译下面的代码。它给出了编译错误。 代码: 控制台错误: 当我只调用。工作正常。但是当您想使用参数化构造函数调用
问题内容: 默认构造函数到底是什么?你能告诉我以下哪个是默认构造函数,它与其他构造函数有何不同? 问题答案: 他们都不是。如果定义,则不是默认值。 除非你定义另一个构造函数,否则默认构造函数是自动生成的无参数构造函数。任何未初始化的字段都将设置为其默认值。对于你的榜样,它看起来像这样假设的类型String,int以及int,那类本身是公共的: 这与 完全没有构造函数。但是,如果定义至少一个构造函数
我想把它转换成这样的东西: 这将使类不可变并且更容易进行单元测试。问题是,由于executorService需要通过@Resource注释获得,它似乎不能通过构造函数注入。
因此,我有了类、、和。由于类有很多setter和getter,所以我决定将代码放在pastebin中: LogBookEntry 驱动程序 数据库 汽车 因此,正如您在数据库中所看到的,我有两个函数来加载和保存XML数据。 如您所见,类的日期不会保存到XML文件中。这就是为什么我在加载xml文件时会出现以下错误的原因: Okt 22,2017 3:36:33 PM com.sun.xml.inte
问题内容: 有没有一种方法可以用XML编写Spring bean,以便在构造函数具有varargs参数类型时使用构造函数注入?IE,有没有一种方法可以指定数组,也可以指定列表? 例如: 问题答案: 因为是您可以使用的数组: