您好我正在尝试使用 jndi 数据源。下面是代码
上下文.xml
<Context antiJARLocking="true" path="/SpringMVCTest">
<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver"
maxActive="20" maxIdle="10" maxWait="10000"
name="jdbc/pluto" password=""
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/spring?zeroDateTimeBehavior=convertToNull"
username="pluto"/>
</Context>
在 spring-servlet 配置 bean 中是:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jdbc/pluto" value="java:comp/env/jdbc/pluto"/>
</bean>
我收到这个错误
org.springframework.beans.factory.BeanCreationException:创建名为“contactController”的bean时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 app.contact.service.ContactService app.contact.controller.ContactController.contactService;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“contactServiceImpl”的 bean 时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 app.contact.dao.ContactDAO app.contact.service.ContactServiceImpl.contactDAO;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“contactDAOImpl”的 bean 时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 org.hibernate.SessionFactory app.contact.dao.ContactDAOImpl.sessionFactory;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建 ServletContext 资源 [/WEB-INF/spring-servlet.xml] 中定义的名称为“sessionFactory”的 bean 时出错:设置 bean 属性时无法解析对 bean 'dataSource' 的引用'数据源'; 嵌套异常是 org.springframework.beans.factory.BeanCreationException:在 ServletContext 资源 [/WEB-INF/spring-servlet.xml] 中定义名称为“dataSource”的 bean 创建错误:设置属性值时出错;嵌套异常是 org.springframework.beans.NotWritablePropertyException:bean 类 [org.springframework.jndi.JndiObjectFactoryBean] 的无效属性“jdbc/pluto”:bean 属性“jdbc/pluto”不可写或具有无效的 setter 方法。setter 的参数类型是否与 getter 的返回类型匹配?相关原因:org.springframework.beans.factory.BeanCreationException:在 ServletContext 资源 [/WEB-INF/spring-servlet.xml] 中创建名称为“dataSource”的 bean 时出错:设置属性值时出错;嵌套异常是 org.springframework.beans.NotWritablePropertyException:bean 类 [org.springframework.jndi.JndiObjectFactoryBean] 的无效属性“jdbc/pluto”:bean 属性“jdbc/pluto”不可写或具有无效的 setter 方法。