データベース呼び出しを行うためにSpring jdbcTemplateを使用していますが、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;
}