Ошибка шаблона jdbcTemplate интеграции Spring

报错: java.lang.IllegalStateException: не удалось загрузить ApplicationContext
в
org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext (DefaultCacheAwareContextLoaderDelegate.java:124)
в
org.springframework.test.context.loadContext ( DefaultCacheAwareContextLoaderDelegate.java:124) в org.springframework.delegate.java:124 ) в org.springframework.get Java: 83)
в
org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies (DependencyInjectionTestExecutionListener.java:117)
в
org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance (DependencyInjectionTestExecutionListener.java:83)
в
org.springframework.test.context.TestContextManager.prepareTestInstance (TestContextManager.java:228)
в
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest (SpringJUnit4ClassRunner.java:230)
в
org.springframework.test.context.junit4. SpringJUnit4ClassRunner $ 1.runReflectiveCall (SpringJUnit4ClassRunner.java:289)
в
org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12)
в
ormetg.springframeworkJunner.java:12. : 291)
в
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild (SpringJUnit4ClassRunner.java:249)
в
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild (SpringJUnit4ClassRunner.java:89)
в org.junit.runners.ParentRunner $ 3.run (Parent $ Runner.java:290) в
org.runner.junners. ParentRunner.java:71) на
org.junit.runners.ParentRunner.runChildren (ParentRunner.java:288) на
org.junit.runners.ParentRunner.access $ 000 (ParentRunner.java:58) на
org.junit.runner.Parent .evaluate (ParentRunner.java:268) в
org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate (RunBeforeTestClassCallbacks.java:61)
в
org.springframework.testValue.context.context.jpg .java: 70)
в org.junit.runners.ParentRunner.run (ParentRunner.java:363) в
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run (SpringJUnit4ClassRunner.java:193)
в
orgjunner.internal.internal. .JUnit4TestReference.run (JUnit4TestReference.java:89) по
адресу
org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:41) по
адресу
org.eclipse.jdt.internal.junner.Runest.Runest (RemoteTestRunner.java:541) по
адресу
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:763) по
адресу
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. : 463)
в
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:209)
Вызвано: org.springframework.beans.factory.Be anCreation Exception: ошибка при создании bean-компонента с именем 'dataSource', определенным в ресурсе пути к классу [applicationcontext.xml]: ошибка при установке значений свойств; вложенное исключение org.springframework .beans.NotWritablePropertyException: недопустимое свойство passWord класса bean-компонента [com.mchange.v2.c3p0. ComboPooledDataSource]: свойство bean-компонента passWord
недоступно для записи или имеет недопустимый метод установки. Вы имели в виду "пароль"?

в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues ​​(AbstractAutowireCapableBeanFactory.java:1518)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1226)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:543)
в
org.springframework.beans.factory. support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:482)
в
org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:306)
в
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry .java: 230)
в
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:302)
в
org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:197)
в
org.springframework.beans.factory. support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:772)
в
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:839)
в
org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:538)
в
org.springframework.test.context.support.AbstractGenericContextLoader.loadContext (AbstractGenericContextLoader.java:125)
на
org.springframework.test.context.support.AbstractGenericContextLoader.loadContext (AbstractGenericContextLoader.java:60)
в
org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading (AbstractDelegatingSmartContextLoader.java:109)
в
org.springframework.test.context .support.AbstractDelegatingSmartContextLoader.loadContext (AbstractDelegatingSmartContextLoader.java:261)
в
org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal (DefaultCacheAwareContextLoaderDelegate.java:98)
в
org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext (DefaultCacheAwareContextLoaderDelegate .java: 116)
… еще 25 **
Вызвано: org.springframework.beans.NotWritablePr pertyException: недопустимое свойство passWord класса bean-компонента [com.mchange.v2.c3p0.ComboPooledDataSource]: свойство bean-компонента passWord недоступно для записи или имеет недопустимый метод установки. Вы имели в виду "пароль"? **
в
org.springframework.beans.BeanWrapperImpl.createNotWritablePropertyException (BeanWrapperImpl.java:231)
в
org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue (AbstractNestablePropertyAccessor.java:423)
в
org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue (AbstractNestablePropertyAccessor.java : 280)
в
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues ​​(AbstractPropertyAccessor.java:95)
в
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues ​​(AbstractPropertyAccessor.java:75)
на
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues ​​(AbstractAccessorFramework)
еще

applicationcontext.xml код:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd ">

<context:property-placeholder location="classpath:db.properties"/>


<!--1.将连接池放入spring容器中  -->
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
	<property name="driverClass" value="${jdbc.driverclassname}"></property>
	<property name="jdbcUrl" value="${jdbc.url}"></property>
	<property name="user" value="${jdbc.username}"></property>
	<property name="passWord" value="${jdbc.password}"></property>
	
	<!-- JdbcTemplate    dataSource    userdao-->
	
</bean>
<!--2.将jdbc模板放入spring容器中  -->
<bean name="JdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
	<property name="dataSource" ref="dataSource"></property>
</bean>

<!--3.将userdao放入spring容器中  -->
<bean name="userdao" class="dong.jie.jdbctemple.UserDaoImple">
	<property name="jt" ref="JdbcTemplate"></property>

</bean>

</beans>

Обратите внимание на несколько моментов:
первое:

<property name="driverClass" value="${jdbc.driverclassname}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.username}"></property>
<property name="passWord" value="${jdbc.password}"></property>
------------------------------------------------------
<property name="dataSource" ref="dataSource"></property>
------------------------------------------------------
<property name="jt" ref="JdbcTemplate"></property>

Значение атрибута name в данном свойстве, например: driverClass, jdbcUrl, user, passWord, dataSource, jt и т. Д., Являются фиксированными значениями, не забудьте запомнить. Вот в чем суть. Ошибиться легко. Здесь вы можете узнать правильное имя атрибута , нажав alt + /, чтобы отобразить подсказку.

Второй момент:

<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

<bean name="JdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

<bean name="userdao" class="dong.jie.jdbctemple.UserDaoImple">

Экземпляр dataSource, созданный здесь классом ComboPooledDataSource, имя этого источника данных может быть названо вами.

рекомендация

отblog.csdn.net/weixin_44421869/article/details/103341379