我正在使用Spring jdbcTemplate進行數據庫調用,但我沒有獲取jdbcTemplate實例,儘管我自動裝配了它。沒有使用Spring註釋獲取jdbcTemplate的實例
package com.mypackage.dao
@Repository
public class CustomerDaoImpl implements CustomerDao {
private JdbcTemplate jdbcTemplate;
@Autowired
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
public Customer findCustomer(){
...........
jdbcTemplate.execute ......
...........
}
}
在Spring的applicationContext.xml
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${database.driverClassName}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
<property name="initialSize" value="1" />
<property name="maxActive" value="3" />
</bean>
<context:component-scan base-package="com.mypackage">
<context:exclude-filter expression="org.springframework.stereotype.Controller"
type="annotation" />
</context:component-scan>
database.properties文件
database.url=jdbc:oracle:thin:@myhost:1521:OQA1
database.username=my_app
database.password=my_app_password
database.driverClassName=oracle.jdbc.OracleDriver
在這方面我正在做的錯誤?
----------------編輯:添加上層----------------
package com.mypackage.rest
@Service("customerResource")
@Path("/customer")
public class CustomerResource extends AbstractResource{
@Autowired
private CustomerDao customerDao;
}
這看起來沒問題,你會得到什麼異常?你的database.properties文件是由Spring加載的嗎?您是否啓用tx:註解驅動? –
您是否看到任何應用程序異常? –
@FredClose關閉由於jpaTemplate實例未被初始化,我沒有看到除NullPointer之外的任何異常。我沒有啓用TX:註解驅動,會導致這個問題? – Pankaj